欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sass的一些坑,一些规范

程序员文章站 2022-07-15 15:49:07
...

sass 一些新手容易踩的坑

一、变量
运用变量的时候,变量的作用域
$ 变量名:变量值

$color-black: #000;
body{
$color-black: #333;
}
.color{
color:$color-black
}

编译成color:#000,全局>局部 (body)
Sass 提供 !global 可以影响全局变量一般慎用

$color-black: #000;
body{
$color-black: #333 !global;
}
.color{
color:$color-black
}

编译结果是color:#333;

二、嵌套
尽量嵌套不超过4层,少用选择器关联

.home{
.tag{
& > div.color{
.span{……}
}
}
}

编译成.home .tag > div.color .span{……},后期做优化、修改不方便

三、计算
sass 里/ 号要加括号,因为在css里/符号是font的简写font12px/1.5。
计算单位也要统一
不统一单位的css里calc()可以实现

$width: 100%;
.w-4{
width:$width / 4;
}

这种也行

四、@mixin

@mixin border-radius{
-webkit-border-radius: 5px;
 -moz-border-radius: 5px; 
-o-border-radius: 5px; 
-ms-border-radius: 5px; 
border-radius: 5px;
}

引用


button{
@includ border-radius;
}

在写公用的一些代码,做好用变量来表示

@mixin border-radius($radius){
-webkit-border-radius: $radius;
 -moz-border-radius: $radius; 
-o-border-radius: $radius; 
-ms-border-radius: $radius; 
border-radius: $radius;
}

调用

button{
@includ border-radius(5px);
}

尽量简化代码

五、选择器继承

在用@extend调用的时候最好是写占位符的clss

.input{
padding:10px;
}

.bnt{
@extend .input
}

编译结果

.input .bnt{
padding:10px;
}

这种调用不是bnt里添加input样式,而是bnt追加在input后,后期修改input样式会影响bnt样式。

%input{
padding:10px;
}

.bnt{
@extend  %input
}

这种占位符调用的时候才编译