我剛開始第一次使用SCSS。我注意到,由此產生的CSS比我手寫的CSS要少一些。例如,我使用的混入樣式重複,像這樣:SCSS結構與多個CSS類
@mixin button {
border-radius: 4px 20px 20px 4px;
-moz-border-radius: 4px 20px 20px 4px;
}
.enquire {
.live-chat {
@include button;
background: #21a649;
}
.enquire-now {
@include button;
background: #33b1ff;
}
}
然後,所有我需要的按鈕是單級,「查詢 - 現在」,所有的風格都包括在一個類CSS。
如果我手寫這一點,但是,我會用2類,像這樣:
.button {
border-radius: 4px 20px 20px 4px;
-moz-border-radius: 4px 20px 20px 4px;
}
.enquire .live-chat {
background: #21a649;
}
.enquire .enquire-now {
background: #33b1ff;
}
然後在元素上,使用「按鈕查詢,現在」
因此,通過使用mixin,我將HTML中使用的類最小化,並使其編寫愉快,但是使我的實際CSS文件更長!這似乎有些反作用......我錯過了什麼?
mixins有什麼意義,如果採用舊式的方式,實際上會生成一個較小的CSS文件?
在除了下面給出的答案,我只想說,當你想傳遞參數/選項時,mixin是最有用的。如果你不這樣做,那麼@extend可能是減少重複的最佳選擇。 –