3 回答

TA貢獻1852條經(jīng)驗 獲得超7個贊
當(dāng)涉及到性能,史蒂夫Souders的是該男子:
其中一份報告的無恥報價:
優(yōu)化CSS選擇器的關(guān)鍵是關(guān)注最右邊的選擇器,也稱為鍵選擇器(巧合?)。這是一個更昂貴的選擇器:A.class0007 * {}。雖然這個選擇器可能看起來更簡單,但瀏覽器匹配起來更昂貴。因為瀏覽器從右向左移動,所以它首先檢查與鍵選擇器匹配的所有元素“*”。這意味著瀏覽器必須嘗試將此選擇器與頁面中的所有元素進行匹配。

TA貢獻2039條經(jīng)驗 獲得超8個贊
對于某些使用的屬性*
可能會產(chǎn)生意想不到
* { color: blue }li { color: red }
現(xiàn)在給出<li><i>text</i></li>
,文字將是藍色的!

TA貢獻1802條經(jīng)驗 獲得超5個贊
一種觀點認為*并不是說*是一個性能問題,而是一個很好的老頭 - 它有一個IE問題。它影響IE 5,5.5和6以及Macintosh變體?;旧?,有一種稱為HTML星形選擇器的bug,適用如下:
* html
這應(yīng)該被解釋為沒有元素匹配,因為html是root并且不能是子元素。IE將其解釋為html。
* * body
同樣,應(yīng)該匹配任何元素,因為body不能是孫元素 - 即使它是HTML的子元素。IE將此解釋為* body。
* html body
這應(yīng)該不匹配任何元素,但IE將其解釋為html正文。
性能方面通常被視為應(yīng)用*僅表示該樣式適用于頁面中的每個元素。我很少發(fā)現(xiàn)這本身就是一個問題 - 它會成為一個問題,這意味著你可能在那里得到了太多的標(biāo)記。同樣,因為它適用于所有內(nèi)容,這意味著您需要增加代碼以應(yīng)對不應(yīng)該具有該樣式的元素。與其他一切一樣,由您來決定權(quán)衡和平衡應(yīng)該是什么。
添加回答
舉報