• 【css预处理器】sass的基本语法


    001、安装sass

    复制代码
    1、删除gem源:gem sources --remove https://rubygems.org/

    2、添加国内源:gem sources -a http://gems.ruby-china.org/

    3、打印是否替换成功:gem sources -l

    4、安装sass:gem install sass


    Linux和Mac已自带Ruby,不用再安装,mac同学安装:sudo gem install sass
    gem sources --remove https://rubygems.org/
    gem sources -a https://ruby.taobao.org/
     
    复制代码

    002、sass的四种编译风格

    复制代码
    nested:嵌套缩进的css代码,它是默认值。
    expanded:没有缩进的、扩展的css代码。
    compact:简洁格式的css代码。
    compressed:压缩后的css代码。
    复制代码

    003、编译sass

    复制代码
    1、单个文件编译:sass 文件名:文件名
    
    2、编译整个文件夹:sass 文件夹名:文件夹名
    
    3、监听编译:sass --watch 文件名:文件名

    4、压缩加编译:sass --watch test.scss:test.css --style nested

    5、编译整个文件夹:
    sass sass/:css/
    复制代码

    004、sass的基本语法

    1、sass中定义变量用$

    复制代码
    1、普通变量和默认变量
    
        普通变量定义了后可在全局使用
       
        默认变量仅需要在值后面加!default



    2、如果变量需要镶嵌在字符串之中,就必须需要写在#{}之中

    3、局部变量只能在局部使用,全局变量可以在任何地方使用
    复制代码

    2、嵌套

    复制代码
    选择器嵌套:
        ul{
             li{
                color:red;
                &:hover a{
                      color:#000;
                   }
              }
        
        }   

    &:代表父级
    复制代码

    3、混合宏

    复制代码
    作用:可以重用代码块

    声明混合宏:@mixin

    调用混合宏:@include


    1、不带参数的混合宏
      @mixin border-radius{
           -webkit-border-radius:5px;
           border-radius:5px;
      }
     
     
     2、带参数的混合宏
     
      @mixin border-radius($radius:5px){
         -webkit-border-radius:$radius;
         border-radius:$radius;
      }
      如果需要修改则在调用的时候直接修改即可
     
    复制代码

    4、继承

    复制代码
    在sass中,通过继承可以减少重复的代码,让一个选择器继承另一个选择器的样式

    方法:@extend

    .alert{font-size:18px;}

    .alert a{
      text-align:center;
      &:hover{
        color:red;
      }
    }

    div{@extend .alert}
    复制代码

    5、@import

    复制代码
    @import:引入其他文件
    
    例如:reset文件  
    
    公共文件的引入:命名规范是以下划线开头的,这样的 scss 文件不会被编译成 css

    _base.scss文件

    @import "base";
     
  • 相关阅读:
    【AtCoder】ARC067 F
    【AtCoder】ARC095 E
    【BZOJ】4559: [JLoi2016]成绩比较 计数DP+排列组合+拉格朗日插值
    【CodeForces】961 F. k-substrings 字符串哈希+二分
    【CodeForces】961 G. Partitions 斯特林数
    【BZOJ】2310: ParkII 插头DP
    【BZOJ】2331: [SCOI2011]地板 插头DP
    webpack从0开始---(二)
    webpack从0开始---(一)
    前端基础知识(不应需要思考的知识点)三
  • 原文地址:https://www.cnblogs.com/liuhaov/p/13503188.html
Copyright © 2020-2023  润新知