zoukankan      html  css  js  c++  java
  • [SCSS] Write Custom Functions with the SCSS @function Directive

    Writing SCSS @functions is similar to writing functions in other programming languages; they can accept arguments and have return statements. SCSS provides a ton of great features, but sometimes we need to roll our own function. We can do that too! They’re useful when the desired functionality isn’t available from the built in SCSS functions and a mixin just won’t do. In this lesson, we learn how and when to use SCSS function directives.

    @function font-scale($exponent, $base-font-size: 14px, $ratio: 1.2) {
      $value: 1;
    
      @for $i from 1 through $exponent {
        $value: $value * $ratio;
        @debug $value;
      }
    
      @return if($exponent > 0, $base-font-size * $value, $base-font-size);
    }
    
    .stuff { font-size: font-scale(4); }
    .things { font-size: font-scale(2); }
    
    @for $i from 1 through 6 {
      $exponent: 7 - $i;
    
      h#{$i} { font-size: font-scale($exponent, $ratio: 1.5); }
    }

    Notice, we using '@debug' directive, it can help to print out the value in console

    We get:

    .stuff {
      font-size: 29.0304px; }
    
    .things {
      font-size: 20.16px; }
    
    h1 {
      font-size: 159.46875px; }
    
    h2 {
      font-size: 106.3125px; }
    
    h3 {
      font-size: 70.875px; }
    
    h4 {
      font-size: 47.25px; }
    
    h5 {
      font-size: 31.5px; }
    
    h6 {
      font-size: 21px; }
  • 相关阅读:
    HDUOJ---------(1045)Fire Net
    HDUOJ----(1175)连连看
    HDUOJ-----(1072)Nightmare(bfs)
    deque容器的运用一点一点积累
    HDUOJ----(1016)Prime Ring Problem
    HDUOJ----Safecracker(1015)
    hduoj---Tempter of the Bone
    VC6.0设置注释快捷键
    nyoj------------找球号(一)
    set 容器 的全解(转)
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6873736.html
Copyright © 2011-2022 走看看