CSS-上下文選擇器


 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title>HTML5 Template</title>
 6     <style>
 7         em {color:gray;}
 8         article p em{color:green;} 
 9         aside p em{color:orange;}
10     </style>
11 </head>
12 <body>
13     <p>this text is very important!</p>
14     <article>
15         <h1>Contextual selector are <em>very</em> selective</h1>
16         <p>this example shows how to target a <em>specific</em> tag.</p>
17     </article>
18     <aside>
19         <p>Contextual selectors are <em>very</em> useful!</p>
20     </aside>
21 </body>
22 </html>

1、上下文選擇器:基於祖先或者同胞元素選擇一個元素。

標簽1 標簽2 {聲明}

其中,標簽2是我們想要選中的目標,而且只有在標簽1是其祖先元素的情況下才會被選中。

上下文選擇器,嚴格來講,叫后代組合式選擇器,就是一組以空格分隔的標簽名。用於選擇作為指定祖先元素后代的標簽。只要有標簽在它的層次結構“上游”存在這么一個祖先,那么就會選中該標簽。無論從該標簽到作為祖先的上下文之間隔着多少層次都沒有關系。

上面的例子表示的是,基於祖先元素選擇em元素,使處於不同標簽下的em呈現不同的狀態。

特殊的上下文選擇符:

1.1、子選擇符>

標簽1 > 標簽2

標簽2必須是標簽1的子元素。與其他常規的上下文選擇符不同,這個選擇符中的標簽1不能使標簽2的父元素之外的其他祖先元素

1.2、緊鄰同胞選擇符 +

標簽1 + 標簽2

標簽2必須緊跟在其同胞標簽1的后面

1.3、一般同胞選擇符 ~

標簽1 ~ 標簽2

標簽2必須在(不一定緊挨着)其同胞標簽1后面

1.4、通用選擇符 *

*(常稱為星號選擇符)是一個通配符,它匹配任何元素

* {color:green;}

會導致所有元素(的文本和邊框)都變成綠色。

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title>HTML5 Template</title>
 6     <style>
 7         section > h2 {color:red;font-style:italic;}/* > 子選擇符 */
 8         h2 + p {font-variant:small-caps;}/* + 緊鄰同胞選擇符*/
 9         h2 ~ a {color:brown;}/* ~ 一般同胞選擇符*/
10         section * a {color:red;}/*非子選擇符,適用於section的非子元素a*/
11     </style>
12 </head>
13 <body>
14     <section>
15         <h2>An H2 Heading</h2>
16         <p>this is paragraph 1</p>
17         <p>paragraph 2 has <a href="#">a link</a> in it.</p>
18         <a href="#">Link</a>
19     </section>
20 </body>
21 </html>


免責聲明!

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



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