extend、mixin、function使用時機
- extend 繼承 (管理樣式)
- mixin 管理屬性
- function 管理(計算)值
以上三種請都寫在你自己寫的樣式的前面!
Alex個人習慣編寫順序:
- 變數
- function
- extend
- mixin
@extend 繼承
使用時機:整包樣式都要一樣的時候,減少重複的行為,以大方向為主(管理樣式)
例:超連結全部要去除底線、float的clear等
簡易範例:
1 | %aBlock{ |
編譯後:
1 | .button, .big_button { |
重點:
- 所有繼承應該”都”要放在最上面(權重問題)
- 命名為%開頭 對應 @extend
@mixin 管理屬性
使用時機:需要大量重複使用到的屬性。
例:「大量使用固定的width、height」
、line-height跟height、box-shadow(陰影)
簡易範例:
1 | @mixin line($height:20px){ |
編譯後:
1 | div { |
重點:
- @minix 對應 @include
- 盡量不要把所有屬性全部寫到mixin內
function 管理屬性
搭配變數和mixin使用
1 | $font: 8px 12px 16px 24px 30px; |
css輸出
1 | .myFont { |
import
在css內使用import載入樣式時,
實際上import的樣式會比原本的css晚載入
使用import和直接<link>
引入request次數是一樣的。
若因為共用樣式因素想使用import建議直接在HTML中的<link>
中按照順引入。
css內使用import = html中使用link