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

首頁 > 開發 > CSS > 正文

理解CSS的查找匹配原理,讓CSS更簡潔高效

2020-03-24 19:27:44
字體:
來源:轉載
供稿:網友
很多朋友用了很多年的CSS才明白CSS的真正匹配原理,不知道你是否也是這樣?通過本文的學習理解CSS的查找匹配原理,讓CSS更簡潔高效。看1個簡單的CSS:DIV#divBox p span.red{color:red;},按習慣我們對這個CSS 的理解是,瀏覽器先查找id為divBox的DIV元素,當找到后,再找其下的所有p元素,然后再查找所有span元素,當發現有span的html' target='_blank'>class為red的時候,就應用該style。多么簡單易懂的原理,可是這個理解卻是完完全全相反、錯誤的。匹配原理:瀏覽器CSS匹配不是從左到右進行查找,而是從右到左進行查找。比如之前說的 DIV#divBox p span.red{color:red;},瀏覽器的查找順序如下:先查找html中所有 的span元素,找到后,再查找其父輩元素中是否有p元素,再判斷p的父元素中是否有id為divBox的div元素,如果都存在則匹配上。瀏覽器從右到左進行查找的好處是為了盡早過濾掉一些無關的樣式規則和元素。比如如下html和css:復制內容到剪貼板
style
DIV#divBox p span.red{color:red;}
style
body
div id="divBox"
p span s1 /span /p
p span s2 /span /p
p span s3 /span /p
p span s4 /span /p
/div
/body
如果按從左到右查找,哪會先查找到很多不相關的p和span元素。而如果按從左到右的方式進行查找,則首先就查找到 span 的元素。firefox稱這種查找方式為key selector(關鍵字查詢),所謂的關鍵字就是樣式規則中最后(最右邊)的規則,上面的key就是span.red。簡潔、高效的CSS:所謂高效的CSS就是讓瀏覽器在查找style匹配的元素的時候盡量進行少的查找,下面列出一些我們常見的寫CSS犯一些低效錯誤(也是我以前常常犯的錯誤,還老以為這樣寫才是高效的):1、不要在ID選擇器前使用標簽名一般寫法:DIV#divBox更好寫法:#divBox解釋: 因為ID選擇器是唯一的,加上div反而增加不必要的匹配。2、不要再class選擇器前使用標簽名一般寫法:span.red更好寫法:.red解釋: 同第一條,但如果你定義了多個.red,而且在不同的元素下是樣式不一樣,則不能去掉,比如你css文件中定義如下:p.red{color:red;}span.red{color:#ff00ff}如果是這樣定義的就不要去掉,去掉后就會混淆,不過建議最好不要這樣寫3、盡量少使用層級關系一般寫法:#divBox p .red{color:red;} 更好寫法:.red{..}4、使用class代替層級關系一般寫法:#divBox ul li a{display:block;} 更好寫法:.block{display:block;}
html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 准格尔旗| 衡阳市| 安徽省| 桑日县| 尚义县| 新干县| 海丰县| 永和县| 桂东县| 乌海市| 安仁县| 腾冲县| 仙居县| 福清市| 乌拉特后旗| 厦门市| 吉安市| 道孚县| 英吉沙县| 南投市| 北川| 周宁县| 丁青县| 九江市| 新余市| 荆州市| 鄂托克前旗| 威远县| 阿图什市| 藁城市| 盱眙县| 淮滨县| 通江县| 曲靖市| 石泉县| 唐河县| 阿城市| 临湘市| 萨嘎县| 红原县| 东乡|