1. 注释
2. 变量?
selector {<span style="color: #ff0000;">
// 局部变量 会覆盖全局变量
$variableName:<span style="color: #0000ff;"> variableValue;<span style="color: #ff0000;">
// 使用变量
label:<span style="color: #0000ff;"> $variableName;
}<span style="color: #800000;">
// !default 如果这个变量被声明赋值了,那就用它声明的值,否则就用这个默认值。
$variableName: variableValue !default;
// 全局变量
$variableName: variableValue !global;
// 一般我们定义的变量都为属性值,可直接使用,但是如果变量作为属性或在某些特殊情况下等则必须要以 #{<span style="color: #ff0000;">$variables}<span style="color: #800000;">形式使用。
//应用于class和属性
.border-#{<span style="color: #ff0000;">$borderDirection}{<span style="color: #ff0000;">
border-#{$borderDirection}<span style="color: #800000;">:1px solid #ccc;
}
3. 嵌套
{:;
}header nav a {<span style="color: #ff0000;">
color:<span style="color: #0000ff;">green;
}
<span style="color: #008000;">/<span style="color: #008000;"> 用scss表示 <span style="color: #008000;">*/<span style="color: #800000;">
nav {<span style="color: #ff0000;">
a {
color:<span style="color: #0000ff;"> red;<span style="color: #ff0000;">
header & { // & 表示当前选择器
color</span>:<span style="color: #0000ff;">green</span>;
}<span style="color: #800000;">
}
}
<span style="color: #008000;">/<span style="color: #008000;"> 属性嵌套 <span style="color: #008000;">/<span style="color: #800000;">
.box {<span style="color: #ff0000;">
border-top:<span style="color: #0000ff;"> 1px solid red;<span style="color: #ff0000;">
border-bottom:<span style="color: #0000ff;"> 1px solid green;
}
<span style="color: #008000;">/<span style="color: #008000;"> 在 Sass 中我们可以这样写:<span style="color: #008000;">*/<span style="color: #800000;">
.box {<span style="color: #ff0000;">
border:<span style="color: #0000ff;"> {
top: 1px solid red;<span style="color: #ff0000;">
bottom:<span style="color: #0000ff;"> 1px solid green;
}<span style="color: #800000;">
}
<span style="color: #008000;">/<span style="color: #008000;"> 伪类/伪元素 嵌套 <span style="color: #008000;">/<span style="color: #800000;">
.clearfix{<span style="color: #ff0000;">
&:<span style="color: #0000ff;">before,&:after {
content:"";<span style="color: #ff0000;">
display:<span style="color: #0000ff;"> table;
}<span style="color: #800000;">
&:after {<span style="color: #ff0000;">
clear:<span style="color: #0000ff;">both;<span style="color: #ff0000;">
overflow:<span style="color: #0000ff;"> hidden;
}<span style="color: #800000;">
&:hover {<span style="color: #ff0000;">
...
}<span style="color: #800000;">
}
4. 混合宏 @mixin @include
5. 继承 @include & 占位符 %
6. 数学运算
7. 引入文件 @import
$toolbar-size: 50px;
.toolbar {<span style="color: #ff0000;">
position:<span style="color: #0000ff;"> fixed;<span style="color: #ff0000;"> // 固定定位
right:<span style="color: #0000ff;"> 10px;<span style="color: #ff0000;">
bottom:<span style="color: #0000ff;"> 10px;
}<span style="color: #800000;">
.toolbar-item {<span style="color: #ff0000;">
position:<span style="color: #0000ff;"> relative;<span style="color: #ff0000;"> // 子代使用absulote定位 所以这里要设置relative定位
display:<span style="color: #0000ff;"> block;<span style="color: #ff0000;"> // 因为a标签是内联元素 默认不能设置宽高
margin-top:<span style="color: #0000ff;"> 1px;<span style="color: #ff0000;"> // 几个小方块的间距为1px
width:<span style="color: #0000ff;"> $toolbar-size;<span style="color: #ff0000;">
height:<span style="color: #0000ff;"> $toolbar-size;<span style="color: #ff0000;">
&</span>:<span style="color: #0000ff;">after {
content: ''</span>;<span style="color: #ff0000;">
position</span>:<span style="color: #0000ff;"> absolute</span>;<span style="color: #ff0000;">
right</span>:<span style="color: #0000ff;"> $toolbar-size</span>;<span style="color: #ff0000;">
bottom</span>:<span style="color: #0000ff;"> 0</span>;<span style="color: #ff0000;">
width</span>:<span style="color: #0000ff;"> 300px</span>;<span style="color: #ff0000;">
height</span>:<span style="color: #0000ff;"> 300px</span>;<span style="color: #ff0000;">
background-repeat</span>:<span style="color: #0000ff;"> no-repeat</span>;<span style="color: #ff0000;">
white-space</span>:<span style="color: #0000ff;"> pre</span>;<span style="color: #ff0000;">
@include opacity(0);
@include scale(0.01);
@include transition(all 1s);
@include transform-origin(95% 95%);
</span>}<span style="color: #800000;">
&:hover </span>{<span style="color: #ff0000;"> // 当鼠标经过的时候 要向上移动显示文字说明
.toolbar-btn {
&</span>:<span style="color: #0000ff;">before {
top: -$toolbar-size</span>;
}<span style="color: #800000;">
&:after </span>{<span style="color: #ff0000;">
top</span>:<span style="color: #0000ff;"> 0</span>;
}<span style="color: #800000;">
}
&:after </span>{<span style="color: #ff0000;">
@include opacity(1); // 设置透明度变为完全不透明
@include scale(1); // 设置大小变为100%
</span>}<span style="color: #800000;">
}
}
.toolbar-item-qq {<span style="color: #ff0000;">
&:<span style="color: #0000ff;">after {
background-image: url(../img/qq.png);<span style="color: #ff0000;">
width:<span style="color: #0000ff;"> 180px;<span style="color: #ff0000;">
height:<span style="color: #0000ff;"> 180px;
}<span style="color: #800000;">
.toolbar-btn </span>{<span style="color: #ff0000;">
@extend .icon-qq; // 继承字体样式 将 before 元素变为字体图标
&</span>:<span style="color: #0000ff;">before {
color: #26b8f2</span>;
}<span style="color: #800000;">
&:after </span>{<span style="color: #ff0000;">
content</span>:<span style="color: #0000ff;"> '加我AQQ'</span>;<span style="color: #ff0000;"> // A 表示换行
</span>}<span style="color: #800000;">
}
}
.toolbar-item-pay {<span style="color: #ff0000;">
&:<span style="color: #0000ff;">after {
background-image: url(../img/pay.png);
}<span style="color: #800000;">
.toolbar-btn </span>{<span style="color: #ff0000;">
@extend .icon-paypal; // 继承字体样式 将 before 元素变为字体图标
&</span>:<span style="color: #0000ff;">before {
color: #f3281b</span>;
}<span style="color: #800000;">
&:after </span>{<span style="color: #ff0000;">
content</span>:<span style="color: #0000ff;"> '为我A捐款'</span>;<span style="color: #ff0000;"> // A 表示换行
</span>}<span style="color: #800000;">
}
}
.toolbar-item-wechat {<span style="color: #ff0000;">
&:<span style="color: #0000ff;">after {
content: "A不告A诉你";<span style="color: #ff0000;">
color:<span style="color: #0000ff;"> #fff;<span style="color: #ff0000;">
font-size:<span style="color: #0000ff;"> 20px;<span style="color: #ff0000;">
line-height:<span style="color: #0000ff;"> 1.2;<span style="color: #ff0000;">
text-align:<span style="color: #0000ff;"> center;<span style="color: #ff0000;">
background-color:<span style="color: #0000ff;"> #000;<span style="color: #ff0000;">
width:<span style="color: #0000ff;"> 100px;<span style="color: #ff0000;">
height:<span style="color: #0000ff;"> 100px;
}<span style="color: #800000;">
.toolbar-btn </span>{<span style="color: #ff0000;">
@extend .icon-wechat; // 继承字体样式 将 before 元素变为字体图标
&</span>:<span style="color: #0000ff;">before {
color: #46b942</span>;
}<span style="color: #800000;">
&:after </span>{<span style="color: #ff0000;">
content</span>:<span style="color: #0000ff;"> '加我A微信'</span>;<span style="color: #ff0000;"> // A 表示换行
</span>}<span style="color: #800000;">
}
}
.toolbar-item-cool {<span style="color: #ff0000;">
.toolbar-btn {
@extend .icon-cool; // 继承字体样式 将 before 元素变为字体图标
&:<span style="color: #0000ff;">before {
color: #000;
}<span style="color: #800000;">
&:after </span>{<span style="color: #ff0000;">
content</span>:<span style="color: #0000ff;"> '我最A可爱'</span>;<span style="color: #ff0000;"> // A 表示换行
</span>}<span style="color: #800000;">
}
}
.toolbar-btn {<span style="color: #ff0000;">
&,&:<span style="color: #0000ff;">before,&:after {
width: $toolbar-size;<span style="color: #ff0000;">
height:<span style="color: #0000ff;"> $toolbar-size;<span style="color: #ff0000;">
position:<span style="color: #0000ff;"> absolute;<span style="color: #ff0000;">
left:<span style="color: #0000ff;"> 0;
}<span style="color: #800000;">
top: 0;
overflow: hidden; // 让文字默认位于溢出位置 然后将溢出部分隐藏
@extend [class^="icon-"]; // 继承字体的样式
&:before,&:after </span>{<span style="color: #ff0000;">
content</span>:<span style="color: #0000ff;"> ''</span>;<span style="color: #ff0000;">
color</span>:<span style="color: #0000ff;"> #fff</span>;<span style="color: #ff0000;">
text-align</span>:<span style="color: #0000ff;"> center</span>;<span style="color: #ff0000;">
@include transition(top 1s);
</span>}<span style="color: #800000;">
&:before </span>{<span style="color: #ff0000;"> // 默认的图标显示
top</span>:<span style="color: #0000ff;"> 0</span>;<span style="color: #ff0000;">
background-color</span>:<span style="color: #0000ff;"> #d0d6d9</span>;<span style="color: #ff0000;">
font-size</span>:<span style="color: #0000ff;"> 30px</span>;<span style="color: #ff0000;">
line-height</span>:<span style="color: #0000ff;"> $toolbar-size</span>;
}<span style="color: #800000;">
&:after </span>{<span style="color: #ff0000;"> // 鼠标悬浮时的文字显示
top</span>:<span style="color: #0000ff;"> $toolbar-size</span>;<span style="color: #ff0000;">
background-color</span>:<span style="color: #0000ff;"> #98a1a6</span>;<span style="color: #ff0000;">
font-size</span>:<span style="color: #0000ff;"> 12px</span>;<span style="color: #ff0000;">
padding-top</span>:<span style="color: #0000ff;"> 12px</span>;<span style="color: #ff0000;">
line-height</span>:<span style="color: #0000ff;"> 1.2</span>;<span style="color: #ff0000;">
white-space</span>:<span style="color: #0000ff;"> pre</span>;<span style="color: #ff0000;"> // 为了实现文字换行
</span>}<span style="color: #800000;">
}