Sass変数、ネスト、混和マクロ、継承、プレースホルダ
2397 ワード
初めてSassを勉強して、簡単なまとめをします.
1.グローバル変数とローカル変数
コンパイル後
2、
ネスト(セレクタネスト、プロパティネスト、擬似クラスネスト)
3、マクロを混和し、パラメータを伝達しない、1つのパラメータを伝達する、複数のパラメータを伝達する
@mixinでミックスマクロを宣言し、@includeで宣言したミックスマクロを呼び出します.
4、継承
5、プレースホルダ、欠点は明らかで、合併できない
&シンボルを使用して、同じプロパティを持つ呼び出し元をマージします.
コンパイル後
1.グローバル変数とローカル変数
$color : green;
span{
color: $color;//
}
div{
$color: red;
p{//
color: $color;//
}
}
i{
color: $color;//
}
コンパイル後
span {
color: green;
}
div p {
color: red;
}
i {
color: green;
}
2、
ネスト(セレクタネスト、プロパティネスト、擬似クラスネスト)
.box{
margin:{// ( , )
top: 5px;
bottom: 3px;
}
}
.wrap{
&:after{// ( & )
content: "";
display: block;
}
}
コンパイル後.box {
margin-top: 5px;
margin-bottom: 3px;
}
.wrap:after {
content: "";
display: block;
}
3、マクロを混和し、パラメータを伝達しない、1つのパラメータを伝達する、複数のパラメータを伝達する
@mixinでミックスマクロを宣言し、@includeで宣言したミックスマクロを呼び出します.
@mixin center{//
text-align: center;
}
.sa{
@include center
}
@mixin center($center){//
text-align: $center;
}
.sa{
@include center(center)
}
コンパイル後はすべて.sa {
text-align: center;
}
複数のパラメータを渡すには2つのケースがあり、指定された個数のパラメータと「...」を直接伝えることができます.(パラメータを省略するように言います).@mixin center($width,$height){//
width: $width;
height: $height;
}
.sa{
@include center(500px,300px)
}
コンパイル後.sa {
width: 500px;
height: 300px;
}
パラメータの省略@mixin center($padding...){// ...
@if length($padding) >= 1{
padding: $padding;
}@else{
padding: 10px 5px;
}
}
.sa{
@include center(2px,3px)// else
}
.sub{
@include center // 1
}
コンパイル後.sa {
padding: 2px, 3px;
}
.sub {
padding: 10px 5px;
}
4、継承
.btn{
border-radius: 5px;
}
#fl{
float: left;
}
.sa{
@extend .btn;
@extend #fl;
}
コンパイル後.btn, .sa {
border-radius: 5px;
}
#fl, .sa {
float: left;
}
5、プレースホルダ、欠点は明らかで、合併できない
%fr{
float: right;
}
%block{
display: block;
}
.sa{
@extend %fr;
@extend %block;
}
コンパイル後.sa {
float: right;
}
.sa {
display: block;
}
&シンボルを使用して、同じプロパティを持つ呼び出し元をマージします.
%fr{
float: right;
}
%block{
display: block;
}
.sub{
@extend %block;
&, span{
@extend %fr;
}
}
コンパイル後
.sub, .sub span {
float: right;
}
.sub {
display: block;
}