SASS基础

SASS是CSS的预处理器(css preprocessor),CSS的一种开发工具,支持加减乘除运算、变量、嵌套、继承(继承上一个选择器)、mixin(代码重用)、颜色函数、插入文件、条件、循环语句、自定义函数。

变量

SASS变量以$开头

$left : left;
div{
  float: $left;
}
/*编译结果*/
div{
  float: left;
}

/*变量需要嵌套在属性里须写在#{}里面*/
div{
  border-#{$left}-radius: 10px;
}

运算(SASS支持加减乘除运算)

  • 加法
 div{
  width: 100 + 20px;
}
/*编译结果*/
div{
  width: 120px;
}
  • 减法
 div{
  width: 100 - 20px;
}
/*编译结果*/
div{
  width: 80px;
}
  • 乘法
div{
  width: 100 * 2px;
}
/*编译结果*/
div{
  width: 200px;
}
  • 除法
div{
  width: (200px / 3);
}
/*编译结果*/
div{
  width: 66.66667px;
}
  • 混合运算
div{
  width: (200px / 3) + 20 - 3px * 2;
}
/*编译结果*/
div{
  width: 80.66667px;
}

嵌套

  • 嵌套写法可以不用写很长的选择层级,可以在选择器里嵌套着写
div{
  width: 100px;
  height: 100px;
  a{
    color: #f00;
     i{
         font-size: 16px;
       }
  }
}
/*编译结果*/
div {
  width: 100px;
  height: 100px;
}
div a {
  color: #f00;
}
div a i {
  font-size: 16px;
}
  • 属性嵌套方法,比如复合属性多个值也可以使用嵌套
div{
    border:{
        width: 1px;
        top:{
            width: 1px;
            style: solid;
            color: #f00;
       }
    }
}
/*编译结果*/
div {
  border-width: 1px;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: #f00;
}
  • 在嵌套代码里面引用父元素可以使用&,比如div:hover
div{
    &:hover a{
        text-decoration: underline;
    }
}
/*编译结果*/
div:hover a {
  text-decoration: underline;
}

注释

// 此写法不会再编译的css文件中体现
/**/ css注释方法,会在编译后体现

继承

继承另一个选择器的代码,可以使用@extend命令

.class{
    border: 1px solid #f00;
}
.class1{
    @extend.class;
    font-size: 12px;
}
/*编译结果*/
.class, .class1 {
  border: 1px solid #f00;
}

.class1 {
  font-size: 12px;
}

mixin,重用代码块

@mixin left{
    float: left;
    width: 100px;
    height: 100px;
}
.class2{
    @include left;
}
/*编译结果*/
.class2 {
  float: left;
  width: 100px;
  height: 100px;
}
  • mixin还可以传参数
@mixin randomAttr( $attr , $value : 1s ){
    -webkit-#{$attr}: $value;
      -moz-#{$attr}: $value;
       -ms-#{$attr}: $value;
        -o-#{$attr}: $value;
           #{$attr}: $value;
}
div{
    @include randomAttr(animation);
}
/*编译结果*/
div {
  -webkit-animation: 1s;
  -moz-animation: 1s;
  -ms-animation: 1s;
  -o-animation: 1s;
  animation: 1s;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值