Sass入门
(1)变量
sass中可以定义变量,方便统一修改和维护
//sass style 变量
//-----------------------------------
$fontStack: Helvetica, sans-serif;
$primaryColor: #333;
body {
font-family: $fontStack;
color: $primaryColor;
}
(2)嵌套
sass可以进行选择器的嵌套,表示层级关系,这样更加优雅
//<span style="font-family: Arial, Helvetica, sans-serif;">sass style </span>嵌套
//-----------------------------------
nav {
ul {
margin: 0;
padding: 0;
list-style: none;
}
li { display: inline-block; }
a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
sass中可以导入其他sass文件,最后编译成一个css文件
//sass style 导入
//-----------------------------------
// _reset.scss
html,
body,
ul,
ol {
margin: 0;
padding: 0;
}
//sass style
//-----------------------------------
// base.scss
@import 'reset';
body {
font-size: 100% Helvetica, sans-serif;
background-color: #efefef;
}
sass中可用mixin定义一些代码片段,并且可以传参数,方便以后调用,从此可以很方便的处理css3的前缀兼容问题
//sass style mixin
//-----------------------------------
@mixin box-sizing ($sizing) {
-webkit-box-sizing:$sizing;
-moz-box-sizing:$sizing;
box-sizing:$sizing;
}
.box-border{
border:1px solid #ccc;
@include box-sizing(border-box);
}
(5)扩展/继承
sass可通过@extend来实现代码组合声明,使代码更加优越简洁
//sass style 扩展/继承
//-----------------------------------
.message {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.success {
@extend .message;
border-color: green;
}
.error {
@extend .message;
border-color: red;
}
.warning {
@extend .message;
border-color: yellow;
}
(6)运算
sass可进行简单的加减乘除运算
//sass style 运算
//-----------------------------------
.container { width: 100%; }
article[role="main"] {
float: left;
width: 600px / 960px * 100%;
}
aside[role="complimentary"] {
float: right;
width: 300px / 960px * 100%;
}
(7)颜色
sass中集成了大量的颜色函数,让变换颜色更加简单
//sass style 颜色
//-----------------------------------
$linkColor: #08c;
a {
text-decoration:none;
color:$linkColor;
&:hover{
color:darken($linkColor,10%);
}
}
学习w3cplus.com