zoukankan      html  css  js  c++  java
  • scss

    嵌套规则

    ......

    声明变量

    // scss
    $ 50px;
    
    .wt {
        width: $width;
    }

    数学运算

    // scss
    #id {
        width: (1 + 2) *3px;
        width: $width/2;
        margin-left: 5px + 8px/2px;
    }
    
    p {
      color: #001100 + #040506;   /* #041606 */
    }

    插值

    // scss
    $name: foo;
    $attr: border;
    p.#{$name} {
      #{$attr}-color: blue;
    }
    
    /* 插值内的计算,null为空字符串 */
    $val: null;
    p:before {
        content: 'sting #{$val} str';   /*sting  str*/
    }

    指令

    // scss
    @import 'style.scss';
    
    // scss
    .warp {
      @import 'style.scss';
    }

    extend

    // scss
    .error {
      border: 1px #f00;
      background-color: #fdd;
    }
    .seriousError {
      @extend .error;   /* 只能继承选择器 */
      border-width: 3px;
    }
    
    // scss
    .error {
      border: 1px #f00;
      background-color: #fdd;
    }
    .attention {
      font-size: 3em;
      background-color: #ff0;
    }
    .seriousError {
      @extend .error;
      @extend .attention;
      border-width: 3px;
    }

    mixin + include

    /* 函数设置*/
    @mixin sexy-border($color, $width) {
      border: {
        color: $color;
        width: $width;
        style: dashed;
      }
    }
    
    /* 使用 */
    p { 
        @include sexy-border(blue, 1in); 
         font-size: 14px;
    }
    
    /* 相当于 */
    p {
        border-color: blue;
        border-width: 1in;
        border-style: dashed;
    }

    mixin 混合未知格式和数量的变量, 使用...

    @mixin box-shadow($shadows...) {
      -moz-box-shadow: $shadows;
      -webkit-box-shadow: $shadows;
      box-shadow: $shadows;
    }
    
    .shadows {
      @include box-shadow(0px 4px 5px #666, 2px 6px 10px #999);
    }

    逻辑

    if else 判断

    // scss
    $type: monster;
    p {
      @if $type == ocean {
        color: blue;
      } @else if $type == matador {
        color: red;
      } @else if $type == monster {
        color: green;
      } @else {
        color: black;
      }
    }

    for循环

    @for $i from 1 through 3 {
      .item-#{$i} { width: 2em * $i; }
    }
    
    /* 相当于 */
    .item-1 {
        width: 2em;
    }
    .item-2 {
        width: 4em;
    }
    .item-3 {
        width: 6em;
    }

    each循环

    @each $animal in puma, sea-slug, egret, salamander {
      .#{$animal}-icon {
        background-image: url('/images/#{$animal}.png');
      }
    }
    
    /* 相当于 */
    .puma-icon {
        background-image: url("/images/puma.png");
    }
    .sea-slug-icon {
        background-image: url("/images/sea-slug.png");
    }
    .egret-icon {
        background-image: url("/images/egret.png");
    }
    .salamander-icon {
        background-image: url("/images/salamander.png");
    }

    while 循环

    $i: 6;
    @while $i > 0 {
      .item-#{$i} { width: 2em * $i; }
      $i: $i - 2;
    }
    
    /* 相当于 */
    .item-6 {
        width: 12em;
    }
    .item-4 {
        width: 8em;
    }
    .item-2 {
        width: 4em;
    }

    创建自定义函数

    $screen:750;
    @function px2rem($px) {
        @return #{$px/($screen/10)}rem
    }

    原文:https://www.jianshu.com/p/3259976b414b

  • 相关阅读:
    curl crt
    test with nmap
    C#查询XML解决“需要命名空间管理器”问题
    Dapper实用教程
    javascript 计算两个日期的差值
    Glib学习笔记(二)
    安装osquery笔记
    Golang多线程简单斗地主
    PHP扩展开发之Zephir
    zabbix 安装记录
  • 原文地址:https://www.cnblogs.com/xjy20170907/p/12678584.html
Copyright © 2011-2022 走看看