博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS - 复合选择器
阅读量:6913 次
发布时间:2019-06-27

本文共 1725 字,大约阅读时间需要 5 分钟。

文章介绍了基本选择器,以基本选择器为基础,通过组合,还可以产生更多的种类的选择器,实现更强、更方便的选择功能。复合选择器就是两个或多个基本选择器,通过不用方式连接而成的选择器。

 

一.“交集”选择器

“交集”复合选择器由两个选择器直接连接构成,其结果是选中二者各自元素范围的交集。其中第一个必须是标记选择器,第二个必须是类别选择器或者ID选择器。这两个选择器之间不能有空格,必须连续书写,形式如下图所示。

这种方式构成的选择器,将选中同时满足前后二者定义的元素,也就是前者所定义的标记类型,并且指定了后者的类别或者id的元素,因此被称为“交集”选择器。

选择器.class

普通段落文本

普通标题文本

指定了.special类别的段落文本

指定了.special类别的标题文本

显示效果如下图。

 

二.“并集”选择器

与交集选择器相对应,还有一种“并集”选择器,它的结果是同时选中各个基本选择器所选择的范围。任何形式的选择器(包括标记选择器、class类别选择器、ID选择器等)都可以作为并集选择器的一部分。并集选择器是过个选择器通过逗号连接而成的,在声明各种CSS选择器时,如果某些选择器的风格是完全相同的,或者部分相同,这时便可以利用并集选择器同时声明风格相同的CSS选择器。

并集选择器

示例文字h1

示例文字h2

示例文字h3

示例文字h4

示例文字h5

示例文字p1

示例文字p2

示例文字p3

 

其显示效果如图所示。

 

三.后代选择器

在CSS选择器中,还可以通过嵌套的方式,对特殊位置的HTML标记进行声明,例如当<p>与</p>之间包含<span></span>标记时,就可以使用后代选择器进行相应的控制。后代选择器的写法就是把外层的标记写在前面,内层的标记写在后面,之间用空格分隔。

后代选择器

嵌套使用CSS标记的方法

嵌套之外的标记不生效

显示效果如下图。

后代选择器的使用非常广泛,不仅标记选择器可以以这种方式组合,类别选择器和ID选择器都可以进行嵌套。下面是一些典型的语句:

.special i{
color : red;} /*使用了属性special的标记里面包含的*/#one li {
padding-left : 5px; } /* ID为one的标记里面包含的
  • */td.top.top1 strong {
    font-size : 16px } /*多层嵌套,同样实用*/
  • 上面的第3行使用了3层嵌套,实际上更多层的嵌套在语法上都是允许的。上门的这个3层嵌套表示的就是使用了.top类别的<td>标记中包含的.top1类别的标记,其中又包含了<strong>标记,一种可能的相对应的HTML为:

        

    其他内容CSS控制的部分其他内容

    需要注意的是,后代选择器产生的影响不仅限于元素的“直接后代”,而且会影响到它的“各级后代”。例如,有如下HTML结构:

    这是最外层的文字。这是中间层的文字。这是最内层的文字。

    如果设置了如下CSS样式:

    p span{    color : blue;}

    那么“这是最外层的文字”这几个字将以黑色显示,即没有设置样式的颜色;后面的“这是中间层的文字”和“这是最内层的文字”,都属于它的后代,因此都会变成蓝色。因此,CSS中还规定了一种复合选择器,称为“子选择器”,也就是只对直接后代有影响的选择器,而对“孙子”以及多个层的后代不产生作用。子选择器和后代选择器的语法区别是,使用大于号连接。例如,将上面的CSS设置为:

    p>span{    color : blue;}

    则结果是仅有“这是中间层的文字”这几个字变为蓝色,因为span是p的直接后代;b是p的“孙子”,不在选中的范围内。

     

     

    好了,本篇文章就介绍到这儿,欢迎大家留言交流;喜欢或有帮助到您的话,点个赞或推荐支持一下! 

    转载于:https://www.cnblogs.com/johnvwan/p/9574499.html

    你可能感兴趣的文章
    对《SQL Server中tempdb的management》的一些更正和补充
    查看>>
    自适应网页设计(Responsive Web Design)
    查看>>
    【转】MFC 迅雷七窗体特效,使用DWM实现Aero Glass效果
    查看>>
    JS查找孩子节点
    查看>>
    Rhythmk 一步一步学 JAVA (20) JAVA enum常用方法
    查看>>
    poj3342Party at Hali-Bula(树形dp)
    查看>>
    Uni2D 入门 -- Animation Clip 和 Animation API
    查看>>
    C#中的Dictionary类,默认key是区分大小写的
    查看>>
    win8开机密码忘了怎么办
    查看>>
    问题集合
    查看>>
    TP 接收post请求使用框架自带函数I()防止注入
    查看>>
    WCF学习总结
    查看>>
    Android Studio项目转Eclipse项目
    查看>>
    CSM认证培训知识汇总
    查看>>
    Atitit. 。Jna技术与 解决 java.lang.Error: Invalid memory access
    查看>>
    zookeeper 安装和配置
    查看>>
    [转载] 武汉海达数云技术有限公司 - 软件研发员工资详情(武汉,2015年)
    查看>>
    termios编程
    查看>>
    html5人物图片360度立体旋转
    查看>>
    怎么搭建个人博客网站——我的建站过程
    查看>>