官术网_书友最值得收藏!

2.6 CSS的層次選擇符

層次選擇符通過HTML的DOM元素之間的層次關系獲取元素,其主要的層次關系包括后代、父子、相鄰兄弟和通用兄弟幾種關系,通過其中某類關系可以方便快捷地選定需要的元素。

2.6.1 后代選擇符

后代選擇符也稱為包含選擇符,作用就是可以選擇某個元素的后代元素,如“X Y”,X為祖先元素,Y為后代元素,X Y表示選擇X元素中所包含的所有Y元素。這里的Y元素不管是X元素的子元素、孫輩元素,還是與X元素有更深層次的關系,都將被選中。換句話說,不論Y在X中有多少層級關系,Y元素都將被選中。

技能案例:使用后代選擇符定義樣式

源文件:源文件\第2章\2-6-1.html

(1)新建HTML文檔,創建style標簽,在style標簽中定義如下的CSS樣式:

(2)對<h1>標簽中所包含的<span>標簽進行樣式設置,代碼如下:

(3)圖2-13所示為案例的完整代碼,圖2-14所示為在瀏覽器中預覽的頁面效果。

圖2-13 案例的完整代碼

圖2-14 在瀏覽器中預覽的頁面效果

<h1>標簽中的所有<span>標簽將被應用font-weight:bold的樣式設置,需注意的是,僅對有此結構的標簽有效,對于單獨存在的<h1>標簽或單獨存在的<span>標簽,以及其他非<h1>標簽包含的<span>標簽均無效。

這樣做能幫助避免過多的id及class的設置,可以直接對需要設置的元素進行設置。

2.6.2 子選擇符

子選擇符只能選擇某元素的子元素,如“X > Y”,X為父元素,Y為子元素, X > Y表示選擇X元素中包含的所有Y元素。

子選擇符與后代選擇符不同,在后代選擇符中,Y是X的后代元素,無論有多少層級關系Y元素都會被選中,而在子選擇符中Y僅是X的子元素。

2.6.3 相鄰兄弟選擇符

相鄰兄弟選擇符可以選擇某個元素之后與其相鄰的元素,它們具有一個相同的父元素。換句話說,X和Y是同輩元素,Y元素在X元素的后面,并且X和Y元素相鄰,這樣就可以使用相鄰兄弟選擇符來選擇Y元素。

技能案例:使用相鄰兄弟選擇符設置樣式

源文件:源文件\第2章\2-6-3.html

(1)新建一個HTML文檔,在<body>標簽中輸入如下的HTML代碼:

(2)如果需要定義應用了類名稱active的<li>標簽之后緊鄰的<li>標簽的樣式,就可以使用相鄰兄弟選擇符。在style標簽中,定義如下的樣式:

(3)通過該相鄰兄弟選擇符設置樣式,可以使應用了類名稱active的<li>標簽之后緊鄰的<li>標簽顯示所定義的樣式效果。圖2-15所示為案例的完整代碼,圖2-16所示為在瀏覽器中預覽的頁面效果。

圖2-15 案例的完整代碼

圖2-16 在瀏覽器中預覽的頁面效果

2.6.4 通用兄弟選擇符

通用兄弟選擇符是CSS中的一種用于選擇某個元素之后的所有兄弟元素的選擇符,其與相鄰兄弟選擇符類似,它們需要在同一個父元素之中。也就是說,X和Y是同輩元素,并且Y元素在X元素之后,通用兄弟選擇符可以選擇X元素之后的所有Y元素。

技能案例:使用通用兄弟選擇符定義樣式

源文件:源文件\第2章\2-6-4.html

(1)新建一個HTML文檔,在<body>標簽中輸入如下的HTML代碼:

(2)如果需要定義應用了類名稱active的<li>標簽之后所有的<li>標簽的樣式,就可以使用通用兄弟選擇符,樣式設置如下:

(3)通過該通用兄弟選擇符設置樣式,可以使應用了類名稱active的<li>標簽之后所有在同一父元素中的<li>標簽顯示所定義的樣式效果。圖2-17所示為案例的完整代碼,圖2-18所示為在瀏覽器中預覽的頁面效果。

圖2-17 案例的完整代碼

圖2-18 在瀏覽器中預覽的頁面效果

2.6.5 層次選擇符瀏覽器適配

層次選擇符的瀏覽器兼容性如表2-4所示。

表2-4 層次選擇符的瀏覽器兼容性

主站蜘蛛池模板: 通道| 德江县| 松潘县| 依兰县| 博野县| 太仆寺旗| 年辖:市辖区| 玉林市| 佛冈县| 建阳市| 双辽市| 平武县| 遵化市| 紫金县| 安新县| 招远市| 玛纳斯县| 宁安市| 开江县| 琼中| 郯城县| 思南县| 灵璧县| 衡东县| 桓仁| 松阳县| 彝良县| 独山县| 鄂托克旗| 沂源县| 乐亭县| 白水县| 铜川市| 永寿县| 邵阳市| 建宁县| 泉州市| 靖安县| 大英县| 政和县| 石嘴山市|