<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                CSS語法中通過依據元素在其位置的上下文關系來定義樣式,你可以使標記更加簡潔。 在CSS1中,通過這種方式來應用規則的選擇器被稱為上下文選擇器(contextual selectors),這是由于它們依賴于 上下文關系來應用或者避免某項規則。在CSS2中,它們稱為派生選擇器,但是無論你如何稱呼它們,它們的作用都 是相同的。派生選擇器允許你根據文檔的上下文關系來確定某個標簽的樣式。通過合理地使用派生選擇器,我們可以 使HTML代碼變得更加整潔。 舉一個例子來說,你希望列表中的 strong 元素變為斜體字,而不是通常的粗體字,可以這樣定義一個派生選擇 器: ~~~ <span style="font-size:18px;">li strong { font-style: italic; font-weight: normal; }</span> ~~~ 請注意標記為< strong>的代碼的上下文關系: ~~~ <span style="font-size:18px;"><p><strong>我是粗體字,不是斜體字,因為我不在列表當中,所以這個規則對我不起作用</strong></p> <ol> <li><strong>我是斜體字。這是因為 strong 元素位于 li 元素內。</strong></li> <li>我是正常的字體。</li> </ol></span> ~~~ 在上面的例子中,只有 li 元素中的 strong 元素的樣式為斜體字,無需為 strong 元素定義特別的class或id,代碼更加簡潔。 我們可以看以運行的結果為: ![](https://box.kancloud.cn/2016-04-28_572155955a183.jpg) 接下來我們來看看常見的派生選擇器。 ### 一,后代(包含)選擇器 后代選擇器又稱為包含選擇器。后代選擇器可以選擇作為某元素后代的元素。選擇某元素后代的元素,并設置一些樣式。 (1)根據上下文選擇元素 我們可以定義后代選擇器來創建一些規則,使這些規則在某些文檔結構中起作用,而在另外一些結構中不起作 用。上述的例子就是一個標準的后代選擇器的演示。 (2)語法解釋 在后代選擇器中,規則左邊的選擇器一端包括兩個或多個用空格分隔的選擇器。選擇器之間的空格是一種結合符。每個空格結合符可以解釋為“... 在 ... 找到”、“... 作為 ... 的一部分”、“... 作為...的后代”,但是要求必須從右向左讀選擇器。語法:選擇器 選擇器 [選擇器...] {}。有關后代選擇器有一個易被忽視的方面,即兩個元素之間的層次間隔可以是無限的。 比如:h1 span{ } ?span嵌套在h1中 ~~~ <span style="font-size:18px;"><span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>無標題文檔</title> <style type="text/css"> h1 span { color:red;} </style> </head> <body> <h1>12345<span>12345</span></h1> <span>12345</span> <h1>12345<div><p><span>12345</div></p></span></h1> </body> </html></span></span> ~~~ 運行的結果為: ![](https://box.kancloud.cn/2016-04-28_572155957061a.jpg) (3)也有些復雜的選擇器組合成的后代選擇器:?.test img{}和#header .btn{}等等。 ### 二,子元素選擇器 與后代選擇器相比,子元素選擇器(Child selectors)只能選擇作為某元素子元素的元素。比后代選擇器更嚴格,選擇某元素子元素的元素,并設置一些樣式。 (1)選擇子元素 如果您不希望選擇任意的后代元素,而是希望縮小范圍,只選擇某個元素的子元素,請使用子元素選擇器。 例如,如果您希望選擇只作為 h1 元素子元素的 strong 元素,可以這樣寫: ~~~ <span style="font-size:18px;">h1 > strong {color:red;}</span> ~~~ 這個規則會把第一個 h1 下面的 strong 元素變為紅色,但是第二個 strong 不受影響: ~~~ <span style="font-size:18px;"><h1>This is <strong>very</strong> important.</h1> <h1>This is <em>really <strong>very</strong></em> important.</h1></span> ~~~ 運行的結果為: ![](https://box.kancloud.cn/2016-04-28_57215595866bd.jpg) (2)語法解釋 您應該已經注意到了,子選擇器使用了大于號(子結合符)。子結合符兩邊可以有空白符,這是可選的。因此,以下寫法都沒有問題: ~~~ <span style="font-size:18px;">h1 > strong h1> strong h1 >strong h1>strong</span> ~~~ 如果從右向左讀,選擇器 h1 > strong 可以解釋為“選擇作為 h1 元素子元素的所有 strong 元素”。 (3)結合后代選擇器和子選擇器 請看下面這個選擇器: ~~~ <span style="font-size:18px;">table.company td > p {}</span> ~~~ 下面的選擇器會選擇作為 td 元素子元素的所有 p 元素,這個 td 元素本身從 table 元素繼承,該 table 元素有一個 包含 company 的 class 屬性。 ### 三,CSS 相鄰兄弟選擇器 相鄰兄弟選擇器可選擇緊接在另一元素后的元素,且二者有相同父元素。 (1)選擇相鄰兄弟 如果需要選擇緊接在另一個元素后的元素,而且二者有相同的父元素,可以使用相鄰兄弟選擇器。 例如,如果要增加緊接在 h1 元素后出現的段落的上邊距,可以這樣寫: ~~~ <span style="font-size:18px;">h1 + p { color:#FF0000;}</span> ~~~ 這個選擇器讀作:“選擇緊接在 h1 元素后出現的段落,h1 和 p 元素擁有共同的父元素”。 ~~~ <span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>無標題文檔</title> <style type="text/css"> h1 + p { color:#FF0000;} </style> </head> <body> <h1>This is a heading.</h1> <p>This is paragraph.</p> <p>This is paragraph.</p> <p>This is paragraph.</p> <p>This is paragraph.</p> <p>This is paragraph.</p> </body> </html></span> ~~~ 運行的結果為: ![](https://box.kancloud.cn/2016-04-28_5721559599244.jpg) (2)語法解釋 相鄰兄弟選擇器使用了加號(+),即相鄰兄弟結合符。注釋:與子結合符一樣,相鄰兄弟結合符旁邊可以有空白符。 請看下面這個文檔樹片段: ~~~ <span style="font-size:18px;"><div> <ul> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ul> <ol> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ol> </div></span> ~~~ 在上面的片段中,div 元素中包含兩個列表:一個無序列表,一個有序列表,每個列表都包含三個列表項。這兩 個列表是相鄰兄弟,列表項本身也是相鄰兄弟。不過,第一個列表中的列表項與第二個列表中的列表項不是相鄰兄 弟,因為這兩組列表項不屬于同一父元素(最多只能算堂兄弟)。 請記住,用一個結合符只能選擇兩個相鄰兄弟中的第二個元素。請看下面的選擇器: ~~~ <span style="font-size:18px;">li + li {font-weight:bold;}</span> ~~~ 上面這個選擇器只會把列表中的第二個和第三個列表項變為粗體。第一個列表項不受影響。 運行的結果為: ![](https://box.kancloud.cn/2016-04-28_57215595bc5f7.jpg) (3)結合其他選擇器 相鄰兄弟結合符還可以結合其他結合符: ~~~ <span style="font-size:18px;">html > body table + ul {margin-top:20px;}</span> ~~~ 這個選擇器解釋為:選擇緊接在 table 元素后出現的所有兄弟 ul 元素,該 table 元素包含在一個 body 元素中, body 元素本身是 html 元素的子元素。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看