国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > CSS > 正文

該不該使用ID選擇器?淺談對(duì)CSS的ID選擇器的使用建議

2024-07-11 08:36:31
字體:
供稿:網(wǎng)友

關(guān)于ID選擇器
和class選擇器不同,這里使用#
class的值不同標(biāo)簽可以發(fā)生重復(fù)。但是id不允許!!!
id選擇器不能結(jié)合使用
id屬性通常和js配合使用

CSS Code復(fù)制內(nèi)容到剪貼板

#label {   
    background-color: red;   
}  

思考
最近我在對(duì) CSS 的樣式進(jìn)行一些性能測(cè)試,然后我的一些好友問我:為什么你不使用 IDs 來作為頁(yè)面上一些特定的內(nèi)容部分呢?
這個(gè)問題很難回答,有下面幾個(gè)理由:
1.頁(yè)面中的該元素?zé)o法重用
2.螺旋式下降導(dǎo)致的特異性
3.通過 IDs 用來標(biāo)識(shí)一些非常特殊的內(nèi)容,但犧牲了抽象性
4.性能方面可通過其他方式來解決
5.下面我們針對(duì)這四點(diǎn)進(jìn)行深入探討。

無法重用頁(yè)面的元素
IDs 對(duì)程序員來說相當(dāng)于是單例,一個(gè)頁(yè)面中不允許存在兩個(gè)相同的 id(當(dāng)然瀏覽器不會(huì)報(bào)錯(cuò)就是了),這就意味著你不可能重用某個(gè)元素,相當(dāng)于是一對(duì)一的關(guān)系。而根據(jù)我的速度測(cè)試,如果一段 CSS 代碼只對(duì)一個(gè)元素起作用對(duì)速度并不利,同時(shí)也帶來了 CSS 膨脹的額外開銷。

由螺旋式下降導(dǎo)致的特異性
CSS 關(guān)于重載的兩個(gè)方法:
1.級(jí)聯(lián): (任何下一級(jí)的元素都可以重寫上一級(jí)CSS規(guī)則)
2.特異性: the idea of creating weight by using weighted selectors.
為什么我說這里是一個(gè)螺旋式下降,因?yàn)闉榱艘剌d一個(gè)優(yōu)先級(jí)很高的規(guī)則,我必須給它設(shè)置添加再高的優(yōu)先級(jí)。

CSS Code復(fù)制內(nèi)容到剪貼板

.ModuleOfficeList .property-checkbox input {display:block;margin-bottom:8px;_border:0px !important;}    
.ModuleOfficeList .property-checkbox,   
.ModuleOfficeList .new-icon,   
.ModuleOfficeList .open-icon {display:block}    
….uid-officelistings .property-checkbox {display:none !important; }  

上面是我在 2005 年的一段真實(shí)的代碼,上面的代碼我必須在最后使用 !important 規(guī)則來對(duì)選擇器規(guī)則進(jìn)行重新排序。這很不好。一旦我們這樣做……它需要我們更多的時(shí)間去追捕父ID,我們將推翻當(dāng)前的特異性。這是不友好的而且不利于維護(hù),最終你會(huì)掉進(jìn)入自己挖好的洞,只有重構(gòu)才能擺脫這個(gè)噩夢(mèng)。

另一方面:
我聽到少數(shù)的一些聲音關(guān)于使用 ID 選擇器的好

使用 ID 選擇器更快
是的,這一點(diǎn)的確沒錯(cuò),而且我也曾經(jīng)證明過。但是性能的表現(xiàn)微乎其微,但當(dāng)你使用嵌套其他選擇器時(shí)性能就下降了:

CSS Code復(fù)制內(nèi)容到剪貼板

#profile-module {…}    
#profile-module li {…}    

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 竹山县| 上杭县| 辽阳市| 方山县| 乌兰察布市| 新津县| 开鲁县| 汤原县| 寿光市| 抚州市| 青海省| 耿马| 南木林县| 玛纳斯县| 古浪县| 祁东县| 泊头市| 泾阳县| 利辛县| 彰化县| 资源县| 龙泉市| 宝鸡市| 合作市| 阳曲县| 延吉市| 伊金霍洛旗| 遵化市| 扬中市| 资兴市| 丘北县| 历史| 辽中县| 荣成市| 梁山县| 博乐市| 浠水县| 建水县| 福安市| 苍南县| 连城县|