zoukankan      html  css  js  c++  java
  • scss使用笔记

    sass为后缀的文件:写的时候不带大括号和分号;

    例子:body

        font-size:12px

    scss为后缀的文件:和css一样写的时候带大括号和分号;

    导入

      sass的导入(@import)规则和css的有所不同,编译时会将@import的scss文件合并进来只生成一个css文件。但是如果你在sass文件中导入css文件如@import 'reset.css',那效果跟普通的css导入样式文件一样,导入的css文件不会合并到编译后的文件中,而是以@import方式存在。所有的sass导入文件都可以忽略后缀名.scss。一般来说基础的文件名方法以_开头,如_mixin.scss。这种文件在导入的时候可以不写下划线,可写成@import 'mixin'

    注释

      /**/:多行注释

      //:单行注释,在转义成css的时候不会被转义出来

    变量

      声明变量的依据

    1. 该值至少重复出现了两次;
    2. 该值至少可能会被更新一次;
    3. 该值所有的表现都与变量有关(非巧合)。

      $fontS:12px !default;(!default表示默认值,不是可以不写)

      覆盖默认变量要在默认变量之前声明

      $fontS:14px;

      $fontS:12px !default;

      全局变量:在选择器,函数,混合宏等外面定义的变量为全局变量

      $font:12px;//全局变量

      .em{

        $font:15px;//在局部内覆盖全局变量

        a{

          color:$color;

        }

      }

      全局变量的影子:当在局部范围声明一个已经存在于全局范围内的变量时,局部变量就会成为全局变量的影子。基本上,局部变量只会在局部范围内覆盖全局变量

      $font:12px;//全局变量

      .em{

        $font;//局部变量

        a{

          color:$color;

        }

      }

    scss命令编译

      例子:将reset.scss编译放在css文件夹下的reset.css

      sass -- watch

      sass/reset.scss:css/reset.css

    scss代码输出风格

      1.嵌套输出方式 nested;(--style nested)

      2.展开输出方式expanded; 语法(sass -- watch test.scss:test.css --style expaned)

      3.紧凑输出方式compact;(--style compact)

      4压缩输出方式compressed(--style compressed)

    scss的调试: scss --watch --scss --sourcemap style.css

    sass嵌套

    • 选择器嵌套

        例子:

          <header><nav><a></a></nav></header>

          nav{

            a{

              color:red;

              header & {

                color:green;

              }

            }

          }

    • 属性嵌套

        .box{

          font:{

            size:12px;

            weight:bold;

          } 

        }

    • 伪类嵌套

        .box{

          &:before {
            content:"伪元素嵌套";
          }
        }

     混合宏:声明混合宏的关键字(@mixin)

      不带参数的混合宏:

      @mixin borders{ //borders是宏的名字

        -webkit-border-radius:5px;

        border-radius:5px;

      }

      调用:

        button{

          @include borders

        }

      带参数混合宏:

      @mixin borders($radius:5px){

        -webkit-border-radius:$radius;

        border-radius:$radius;

      }

      复杂的混合宏:

      @mixin box-shadow($shadow...){ //多个参数用...来代替

        @if length($shadow)>=1{

          @include prefixer(box-shadow,$shadow);

        }@else{

          $shadow:0 0 4px rgba(0,0,0,.3);

          @include prefixer(box-shadow,$shadow)

        }

      }

     
  • 相关阅读:
    QT解析和组装json
    linux下磁盘存储空间不足
    linux下的QT打包方法
    linux下编译protobuf
    linux下编译opencv
    linux下的qt串口通信
    QT执行shell脚本及linux指令相关
    windows下QT打包
    启动zookeeper却没有进程
    Linux命令
  • 原文地址:https://www.cnblogs.com/cxdxm/p/6670299.html
Copyright © 2011-2022 走看看