CSS后代選擇器,子選擇器和相鄰兄弟選擇器


平時在代碼練習中,經常用到后代選擇器,子選擇器也會用到,這里做個總結:

1,后代選擇器和子選擇器區別:

①寫法不一樣:
后代選擇器的標識為:空格
如:ul li{width:150px;} 【ul和li之間用空格隔開】
子選擇器的標識為:>
如:ul>li{width:150px;}【ul和li之間用>隔開】
相鄰兄弟選擇器的標識為:+
如:h1 + p {margin-top:50px;}h1和p之間用+隔開

②功能不一樣:
后代選擇器(descendant selector),又稱為包含選擇器,可以選擇某元素后代的元素(子子孫孫元素),如上例,后代選擇器是選擇ul包圍的所有元素中的所有li元素,包括兒子元素、孫子元素、曾孫元素等等等。
與后代選擇器相比,子元素選擇器(Child selectors)只能選擇作為某元素兒子元素的元素,子選擇器僅僅選擇ul包圍的兒子元素中的 li元素,不包括孫元素、曾孫元素等等等。
相鄰兄弟選擇器很好理解,即選擇緊接在另一元素后的元素,且二者有相同父元素。

③兼容性不一樣:
后代選擇器主流瀏覽器都兼容。
子選擇器和相鄰兄弟選擇器在IE6是不被支持的選擇器,會出bug!
 
        

2,后代選擇器,子選擇器和相鄰兄弟選擇器結合使用示例:

請看下面這個選擇器:

html > body table + ul {margin-top:20px;}

這個選擇器解釋為:選擇緊接在 table 元素后出現的第一個相鄰兄弟 ul 元素,該 table 元素包含在一個 body 元素中,body 元素本身是 html 元素的子元素。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM