美文网首页让前端飞
打怪记--Sass的用法

打怪记--Sass的用法

作者: Fernweh_Nancy | 来源:发表于2018-08-26 11:01 被阅读3次

    前言

    之前一直用Less,因为觉得这个简单又好用,随着技术的提升和效率的提高,就开始不满足less的规则,想起css还有其他的预编译语言,Sass和Stylus,就网上查找相关资料的,发现Sass和Stylus有一个优点,就是编程功能强大的,Styles好像更厉害的,这点Less比不上,便蠢蠢欲动,然后我决定选择Sass来学习,因为Sass很成熟的,有全面的中文文档,学习起来应该不会那么难受的。然后我就笔记下,做个迷你版的Sass用法,以后能便于查询。

    CSS功能拓展

    1、嵌套规则

    • 是把一个样式嵌入另一个样式,好处是避免重复写父类名
    .box{
        width: 100px;
        height: 100px;
        .img{
            width: 100%;
        }
    }
    

    编译为

    .box{
        width: 100px;
        height: 100px;
    }
    .box img{
        width: 100%;
    }
    

    2、父选择器 &

    • 在嵌套规则时,有时需要使用父选择器,可直接用&代替父选择器
    a{
        color: #000;
        &:hover{
            color: #fff;
        }
    }
    

    编译为

    a{
        color:#000;
    }
    a:hover{
        color: #fff;
    }
    
    • 还可以拼接其他的字符串,比如
    .main{
        color: black;
        &-box{
            coloe: white;
        }
    }
    

    编译为

    .main {
      color: black;
    }
    .main-box {
      coloe: white;
    }
    

    3、属性嵌套

    这个嘛,比如说border-top,border-bottom,前面都有同样的命名空间:border,看下面的例子:

    .box{
        border:{
            top: 1px solid #ccc;
            left: 1px solid #ccc;
        }
    }
    

    编译为

    .box{
        border-top: 1px solid #ccc;
        border-left: 1px solid #ccc;
    }
    

    不需要重复输入命名空间啦,麻麻再也不要担心我下班很晚~这点是less比不上之一。

    SassScript

    这点很强大的,可像js那样思维的(看后面的Script就知道啦),官网说法是允许属性使用变量,算数运算等额外功能,(好厉害.jpg)

    1、变量 $

    • 这相当于js中的const定义变量,在这里用$来定义
    $green:green;
    

    然后使用时就调用这个变量

    #main{
        color: $green;
    }
    

    我们平时做项目,一般都会有主题的颜色,如果按照css的习惯,那就要每次输入颜色值的,等回头要求换颜色的,就要一个一个改,维护成本太高了。所以用这个最好不过了,要改的话,就改变量一个就好了。

    • 这还支持块级作用域,方法就在嵌套规则内使用的(这就是局部变量,局部变量的概念和js概念一样),如果想要将局部变量转换为全局变量,后面加!global即可,这个应该不常用的。
    .main {
      $width: 5em !global;
      width: $width;
    }
    
    .sidebar {
      width: $width;
    }
    

    编译为

    .main {
      width: 5em;
    }
    
    .sidebar {
      width: 5em;
    }
    

    更新中 ```

    相关文章

      网友评论

        本文标题:打怪记--Sass的用法

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