.dom0, .dom1 {
text-align: center;
}
.dom0 {
color: red;
font-size: 12px;
}
.dom1 {
color: blue;
font-size: 14px;
}
如果少量公用的样式 是不是分别写比较好 虽然这样会造成代码的重复
.dom0 {
color: red;
font-size: 12px;
text-align: center;
}
.dom1 {
color: blue;
font-size: 14px;
text-align: center;
}
答主是想問兩者在性能上的差別吧?
其實兩種方式都可以,CSS不是JS,不是說分開寫就會去選擇DOM兩次,CSS更像是這樣的過程:
答主似乎理解成了CSS裡面寫一個
.dom1
就是讓HTML解釋器去找class=dom1
的HTML元素,全都改成{...}
裡面的樣式,這個理解是錯誤的。所以,寫CSS的時候,一些公用的東西,可以單獨拿出來,方便修改,也方便後面使用。如:
CSS:
HTML:
----------2017.03.05 追加----------
CSS會追加兩次嗎?
每一個DOM都有我們所能定義的CSS的所有屬性,我們定義樣式只是去改變他們的那些樣式屬性而已。
例如:
<p>默认样式的p标签</p>
我們沒有指定他的顏色,但是實際上,這個p標籤的
color
屬性是#000
(黑色的)。然後重複定義的樣式會覆寫前面的定義,例如:
CSS:
HTML:
↑ 這個p標籤顏色最後會是
#333
。因為#222
雖然也被記錄下來了,但是他在前面,被覆蓋了。如果HTML如下,也會被覆寫:
HTML:
↑ 這個p標籤顏色會是
#444
。因為標籤自帶的樣式定義優先權是最高的。 (他定義在所有樣式表後面。)有一個方法可以不被覆蓋,那就是加入
!important
。 (IE6以下不支援)具體可以參考http://www.w3chtml.com/css3/r...
CSS:
HTML:
↑ 這是p標籤的顏色就是
#222
,因為加了!important
,所後面給他的樣式都不會覆蓋這條。你這個不是樣式嗎?什麼叫選取dom 啊,應該是渲染dom吧
你這樣會渲染兩次的,很明顯第一種寫法比較好。
看你的應用場景,其實text-align:center可以學著像bootstrap那樣,單獨抽取出來,用多個class並行
這樣不只他們兩個可以用,其他元素也可以共用這個class
(o´・ェ・`o) 管你什麼樣式呢,反正打包後都抽成公共的了~
無論你CSS怎麼寫,CSS解析器會按優先權規則,在渲染DOM元素前計算出最終應用到這個DOM元素上的樣式
並不是從上到下一次應用樣式
如果是像你這樣的選擇器的話 完全沒有必要用第一種。因為提取出來的完全沒有用。復用不了。
你可以將可以重複使用的功能提取出來,比方說:
這兩種寫法都可以,不過建議寫成公共樣式,這樣程式碼簡潔一些,也方便管理。
你的第一個寫法,確實會對同一個渲染兩次。另,達到同樣的效果,程式碼越少越好。你該去了解了解sass或less.