zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    Java常用的函数式接口
    Java网络编程的使用
    Java 多线程的使用
    VB.NET_DBUtil
    java 文件操作与IO流的常用方法
    JAVA Excel.xlsx 上传于下载
    java测试类
    Java11 HashMap源码分析(一、文档翻译)
    Canal实现Redis缓存实时更新(二)
    Canal实现Redis缓存实时更新(一)
  • 原文地址:https://www.cnblogs.com/tiantianxiangshang33/p/5045909.html
Copyright © 2011-2022 走看看