Sass 预处理器

      Sass 预处理技术
    强化css的辅助工具,增加了变量(variabs),嵌套(nested rules),混合(mixins),导入(inline imports)。
    通过函数(hsla,max,floor)
    提供控制指令(if,for,each)
    Scss 在css3语法基础上进行拓展
    Sass 早期 缩进格式
    vscode搜easy sass 插件
        setting.json
    1,变量
         “$”符号
    2,
    群组嵌套

    ```
    $bg-color:#cbecec; /* 引入变量*/
      /* 群组选择器嵌套*/
      .container{
            h1,h2,h3{
                color: $bg-color;
            }
      }
    ```

    嵌套css

    ```
    /*  嵌套CSS*/
    .container{
        h1{
                color: $bg-color;
        }
        p{
                margin: 0;

        }
        border-bottom: #cbecec;
        table{
            tr{
                color: #cbecec;
            }
        }
    }
    ```

    标识符

    ```
    /*标识符&*/
    .container a{
        color: #cbecec;
        &:hover{
            color: red;
        }
    }
    .container table{
        color:black;

    }
    ```

    层次选择器嵌套

    ```
    /*层次选择器>+~嵌套*/
    .container{
        >{
            div{
                color: #cbecec;
                border-radius: 50%;
            }
        }
        ~{
            div{
                border: 1px solid red;
            }
        }
        table+&{
            margin-left: 0;
        }
    }
    ```

    以及嵌套导入

    ```
    /* 嵌套导入*/
    .container{
        border: {
            radius:50%;
            style:solid;
            color: $bg-color;
        }
        @import "introduce";
    }
    ```

    个人感受 

    sass用起来非常便利 节省了代码的重复率 

    特别是嵌套导入能够解决很多问题,要养成写注释的习惯 导入的时候容易迷失
    1变量声明,变量引用

    变量声明:scss使用$声明变量

```scss
$hight-color:#fff;
```

任何css的属性值都可以用作scss的变量声明

变量引用:

```scss
$highlight-color: #F90;
.selected {
 border: 1px solid $highlight-color;
}

```

只要符合css的使用标准,变量就可以使用

2中划线和下划线

用中划线声明的变量可以使用下划线的方式引用,是用下划线声明的变量也可以用中划线的方式引用

3普通嵌套、父选择器标识符、群组选择器嵌套、层次选择器>+~嵌套

父级选择器的标识符&:当在使用

```scss
article a {
  color: blue;
  &:hover { color: red }
}

```

当在使用IE浏览器时,可以通过JavaScript在标签上添加一个ie的类名

```scss
#content aside {
  color: red;
  body.ie & { color: green }
}
/*编译后*/
#content aside {color: red};
body.ie #content aside { color: green }

```

群组选择器

无需在每一个选择器前重复容器元素的选择器,当scss解开一个群组选择器内嵌规则时,他会把每一个内嵌选择器的规则都解出来。

首先`sass`将`nav`和`a``aside`和`a`分别组合,然后将二者重新组合成一个群组选择器

```scss
nav, aside {
  a {color: blue}
}
```

```css
nav a, aside a {color: blue}
```

子代选择器>  选择一个元素的直接子元素

相邻组合选择器+  选择同辈紧跟着的元素

全体组合选择器~  选择全部跟在article后面的同层article元素,不管隔了多少元素

```scss
article ~ article { border-top: 1px dashed #ccc }
```

嵌套属性:

把属性名从中划线—的地方分开,在跟属性后面加冒号,紧跟着加一个{},把子属性部分写在这个{}块中

默认变量:

使用$建立一个变量,可以加!default去设定默认,如果后面在次声明该变量,则该变量被覆盖

嵌套导入

@import "文件名"

使用@import命令写在css规则中,在这种导入方式下,生成的css文件,局部文件会被直接插到css规则内导入他的地方

注释:

使用//注释只在scss中注释内容,注释的内容不会在css中实现。使用/**/注释的内容会在css文件中显现。


    混合器
        通过 @include (属性)来使用
    css规则
        混合器不仅可以包含属性,还可以包含css规则
    混合器传参
         @mixin 名(形参,形参,形参)
        @include 名(实参,实参,实参) 
    
    默认参数值
          可以是其他参数的引用
    选择器继承  @extend 应该选择器继承另一个选择器里面的样式
           把共有的属性抽离出来放入到一个选择器中,如何让其余的有需要这个样式的选择器去继承这个共有的选择器
           两个,甚至多个选择器有共有的属性,选择器单独的属性是属于选择器
    高级用法:继承html元素样式
    不要使用后代选择器(.aa  .bb 空格)去继承css规则

    Sass 数据类型
            数字      例如:1,2,3,10px
            字符串   包括有引号字符串无引号字符串,例如:  "foo",'bar',are
            颜色         blue...
            布尔值   true false
            空值      null
            数组list   用逗号空格作为分隔符
            maps   相当于JavaScript的object  例如(key1:value1)
        +-*/%
             有三种情况,他是作为除法算术运算符
        值在变量中使用
        ()中
        在算术表达式中
              在变量中,我们不想让他作为算术运算符 { }包裹在变量中
        #{ } 插值语句

        颜色值包含alpha通道 (rgb,rgba)
        opacify 或 transparentize
        IE滤镜要求所有的颜色值包含alpha层,格式必须固定#AABBCCDD
        
        插值修饰属性,修饰选择器


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值