sass

作者: 星球小霸王 | 来源:发表于2018-05-04 10:57 被阅读0次

    sass笔记

    1.对于sass中的&符号,指的就是解开sass嵌套规则,使&代替父元素

    例如

    .name a{
                color: blue;
                :hover { color: red }
            }
    
    //会被编译为
    .name a :hover{
      color:red
    }
    //显然这样是不生效的(因为hover要紧邻着元素,这个根据sass嵌套规则出现了空格)
    
    //所以这样才是对的
    .name a{
                color: blue;
                &:hover { color: red }
            }
    //最后编译为
    .name a:hover{
      color:red
    }
    
    2.混合器;

    混合器使用@mixin标识符定义。看上去很像其他的CSS @标识符,比如说@media或者@font-face。这个标识符给一大段样式赋予一个名字,这样你就可以轻易地通过引用这个名字重用这段样式。下边的这段sass代码,定义了一个非常简单的混合器,目的是添加跨浏览器的圆角边框。

    @mixin rounded-corners {
      -moz-border-radius: 5px;
      -webkit-border-radius: 5px;
      border-radius: 5px;
    }
    

    然后就可以在你的样式表中通过@include来使用这个混合器,放在你希望的任何地方。@include调用会把混合器中的所有样式提取出来放在@include被调用的地方。如果像下边这样写:

    notice {
      background-color: green;
      border: 2px solid #00aa00;
      @include rounded-corners;//注意@include后面没有分号
    }
    
    //sass最终生成:
    
    .notice {
      background-color: green;
      border: 2px solid #00aa00;
      -moz-border-radius: 5px;
      -webkit-border-radius: 5px;
      border-radius: 5px;
    }
    
    3.给混合器传参;

    混合器并不一定总得生成相同的样式。可以通过在@include混合器时给混合器传参,来定制混合器生成的精确样式。当@include混合器时,参数其实就是可以赋值给css属性值的变量。如果你写过JavaScript,这种方式跟JavaScript的function很像:
    下边的这段sass代码,定义了一个非常简单的混合器,目的是添加自定义参数的圆角边框

    @mixin rounded-corners($radius) {
      -moz-border-radius: $radius;
      -webkit-border-radius: $radius;
      border-radius: $radius;
    }
    

    使用时

    .con{
            width: 30px;
            height:30px;
            border:1px solid red;
            margin-top:20px;
            @include rounded-corners(5px);
        }
    

    相关文章

      网友评论

          本文标题:sass

          本文链接:https://www.haomeiwen.com/subject/gxqdrftx.html