利用混合器,可以很容易地在樣式表的不同地方共享樣式。如果你發(fā)現(xiàn)自己在不停地重復(fù)一段樣式,那就應(yīng)該把這段樣式構(gòu)造成優(yōu)良的混合器,尤其是這段樣式本身就是一個(gè)邏輯單元,比如說是一組放在一起有意義的屬性。
判斷一組屬性是否應(yīng)該組合成一個(gè)混合器,一條經(jīng)驗(yàn)法則就是你能否為這個(gè)混合器想出一個(gè)好的名字。如果你能找到一個(gè)很好的短名字來描述這些屬性修飾的樣式,比如rounded-corners
fancy-font
或者no-bullets
,那么往往能夠構(gòu)造一個(gè)合適的混合器。如果你找不到,這時(shí)候構(gòu)造一個(gè)混合器可能并不合適。
混合器在某些方面跟css
類很像。都是讓你給一大段樣式命名,所以在選擇使用哪個(gè)的時(shí)候可能會(huì)產(chǎn)生疑惑。最重要的區(qū)別就是類名是在html
文件中應(yīng)用的,而混合器是在樣式表中應(yīng)用的。這就意味著類名具有語(yǔ)義化含義,而不僅僅是一種展示性的描述:用來描述html
元素的含義而不是html
元素的外觀。而另一方面,混合器是展示性的描述,用來描述一條css
規(guī)則應(yīng)用之后會(huì)產(chǎn)生怎樣的效果。
在之前的例子中,.notice
是一個(gè)有語(yǔ)義的類名。如果一個(gè)html
元素有一個(gè)notice
的類名,就表明了這個(gè)html
元素的用途:向用戶展示提醒信息。rounded-corners
混合器是展示性的,它描述了包含它的css
規(guī)則最終的視覺樣式,尤其是邊框角的視覺樣式?;旌掀骱皖惻浜鲜褂脤懗稣麧嵉?code>html和css
,因?yàn)槭褂谜Z(yǔ)義化的類名亦可以幫你避免重復(fù)使用混合器。為了保持你的html
和css
的易讀性和可維護(hù)性,在寫樣式的過程中一定要銘記二者的區(qū)別。
有時(shí)候僅僅把屬性放在混合器中還遠(yuǎn)遠(yuǎn)不夠,可喜的是,sass
同樣允許你把css
規(guī)則放在混合器中。
更多建議: