• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 319, comments - 22, trackbacks - 0, articles - 11
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            [學習筆記] CSS 后代選擇器

            Posted on 2011-05-28 21:17 RTY 閱讀(238) 評論(0)  編輯 收藏 引用 所屬分類: CSS

            后代選擇器(descendant selector)又稱為包含選擇器。

            后代選擇器可以選擇作為某元素后代的元素。

            根據上下文選擇元素

            我們可以定義后代選擇器來創建一些規則,使這些規則在某些文檔結構中起作用,而在另外一些結構中不起作用。

            舉例來說,如果您希望只對 h1 元素中的 em 元素應用樣式,可以這樣寫:

            h1 em {color:red;}

            上面這個規則會把作為 h1 元素后代的 em 元素的文本變為 紅色。其他 em 文本(如段落或塊引用中的 em)則不會被這個規則選中:

            <h1>This is a <em>important</em> heading</h1> <p>This is a <em>important</em> paragraph.</p> 

            親自試一試

            當然,您也可以在 h1 中找到的每個 em 元素上放一個 class 屬性,但是顯然,后代選擇器的效率更高。

            語法解釋

            在后代選擇器中,規則左邊的選擇器一端包括兩個或多個用空格分隔的選擇器。選擇器之間的空格是一種結合符(combinator)。每個空格結合符可以解釋為“... 在 ... 找到”、“... 作為 ... 的一部分”、“... 作為 ... 的后代”,但是要求必須從右向左讀選擇器。

            因此,h1 em 選擇器可以解釋為 “作為 h1 元素后代的任何 em 元素”。如果要從左向右讀選擇器,可以換成以下說法:“包含 em 的所有 h1 會把以下樣式應用到該 em”。

            具體應用

            后代選擇器的功能極其強大。有了它,可以使 HTML 中不可能實現的任務成為可能。

            假設有一個文檔,其中有一個邊欄,還有一個主區。邊欄的背景為藍色,主區的背景為白色,這兩個區都包含鏈接列表。不能把所有鏈接都設置為藍色,因為這樣一來邊欄中的藍色鏈接都無法看到。

            解決方法是使用后代選擇器。在這種情況下,可以為包含邊欄的 div 指定值為 sidebar 的 class 屬性,并把主區的 class 屬性值設置為 maincontent。然后編寫以下樣式:

            div.sidebar {background:blue;} div.maincontent {background:white;} div.sidebar a:link {color:white;} div.maincontent a:link {color:blue;} 

            有關后代選擇器有一個易被忽視的方面,即兩個元素之間的層次間隔可以使無限的。

            例如,如果寫作 ul em,這個語法就會選擇從 ul 元素繼承的所有 em 元素,而不論 em 的嵌套層次多深。

            因此,ul em 將會選擇以下標記中的所有 em 元素:

            <ul>   <li>List item 1     <ol>       <li>List item 1-1</li>       <li>List item 1-2</li>       <li>List item 1-3         <ol>           <li>List item 1-3-1</li>           <li>List item <em>1-3-2</em></li>           <li>List item 1-3-3</li>         </ol>       </li>       <li>List item 1-4</li>     </ol>   </li>   <li>List item 2</li>   <li>List item 3</li> </ul> 

            親自試一試

            久久热这里只有精品在线观看| 亚洲狠狠婷婷综合久久蜜芽| 国产一区二区三区久久精品| yellow中文字幕久久网| 精品熟女少妇aⅴ免费久久| 久久久久久久久久久| 久久99热精品| 亚洲中文字幕无码久久综合网| 99久久久国产精品免费无卡顿 | 久久人人添人人爽添人人片牛牛| 亚洲女久久久噜噜噜熟女| 狠狠人妻久久久久久综合蜜桃| 99久久精品免费看国产一区二区三区 | 亚洲人成无码www久久久| 久久久久久久人妻无码中文字幕爆| 精品国产乱码久久久久久浪潮| 中文字幕人妻色偷偷久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲国产成人久久综合区| 精品国产福利久久久| 无码人妻久久一区二区三区免费 | 亚洲色欲久久久综合网| 久久国产三级无码一区二区| 99国产欧美精品久久久蜜芽| 亚洲午夜久久久久妓女影院| 欧美久久久久久| 一本色道久久综合狠狠躁篇| 久久久艹| 无码任你躁久久久久久久| 污污内射久久一区二区欧美日韩| 99久久精品国产免看国产一区| 欧美亚洲另类久久综合| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 亚洲精品蜜桃久久久久久| 精品伊人久久久| 模特私拍国产精品久久| 久久久久久久精品成人热色戒 | 国内精品久久久久久99| 人妻无码久久一区二区三区免费| 无码人妻精品一区二区三区久久| 精产国品久久一二三产区区别|