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; }
  • 相关阅读:
    Docker 安装Mysql
    Windows Store APP- C# to get IP Address
    使用eclipse构建maven和发布maven的项目
    eclipse中安装maven的插件
    window下安装和部署maven
    oracle12c的(window版本)安装详解
    Linux配置MySQL
    Linux配置Tomcat
    Linux配置JDK环境变量
    maven创建web项目的报错解决方案
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6873736.html
Copyright © 2011-2022 走看看