首页技术文章正文

一文吃透3类CSS复合选择器【案例演示】

更新时间:2023-04-06 来源:黑马程序员 浏览量:

IT培训班

书写CSS样式表时,可以使用CSS基础选择器选中HTML元素。但是在实际网站开发中,一个网页可能包含成千上万的HTML元素,如果仅使用CSS基础选择器是远远不够的。为此,CSS提供了儿种复合选择器,实现了更强、更方便的选择功能。复合选择器是由两个或多个基础选择器通过不同的方式组合而成的。CSS复合选择器包括标签指定式选择器、后代选择器和并集选择器,具体介绍如下。

(1)标签指定式选择器

标签指定式选择器又称为“交集选择器”,由两个选择器构成,一个为标签选择器,另一个为class选择器或id选择器,两个选择器之间不能有空格,例如,“h3.special”或“pone”。

下面通过一个案例对标签指定式选择器做具体演示。

<!doctype html>
<html>
<head>
<meat charset="utf-8">
<title>标签指定式选择器的应用</title>
<style type="text/css">
p{ color:blue;}
·speclal{color:green;}
p.special{color:red;}  /*标签指定式选择器*/
</style>
</head>
(body>
<p>普通段落文本(蓝色)</p>
<p clasa="apecial“>指定了.special类的段落文本(红色)</p>
<h3 class="spectal">指定了,special类的标题文本(绿色)</h3>
</body>
</html>
上例中定义了<p>标签和“special”类的样式;此外,还单独定义了“pspecial”,用于控制特殊显示的样式。

(2)后代选择器

后代选择器用于选择元素或元素组的后代,其定义方法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的“后代”。

如果<p>标签内嵌套<strong>标签,就可以使用后代选择器对其中的<strong>标签进行控制,如下。

<!doctype htnl>
<html>
<head>
<meta charset="utf-8">
<title>后代选择器</title>
<style type-"text/css">
p strong{color:red:}      /*后代选择器*/
strong{color:blue:}
</style>
</head>
<body>
<p>段落文本<strong>嵌套在段落中,使用strong标签定义的文本(红色)。</strong></p>
<strong>嵌套之外由strong标签定义的文本(蓝色)。</strong>
</body>
</html>

定义了两个<strong>标签,并将第一个<strong>标签嵌套在<p>标签中,然后分别设置<strong>标签和“p strong”的样式。运行效果如图所示。

1680776016211_后代选择器.png

通过图片可以看出后代选择器p strong定义的样式仅适用于嵌套在<p>标签中的<strong>标签,其他的<strong>标签不受影响。需要说明的是,后代选择器不局限于应用在两个元素中,如需要加入更多的元素,只需在元素之间加上空格即可。如果例3-l1中的标签中还嵌套了一个<em>标签,要想控制这个<em>标签,可以使用“pstrong em”选中该<em>标签。

(3)并集选择器

并集选择器的各个选择器通过英文逗号连接而成,任何形式的选择器(包括标签选择器、类选择器和i选择器),都可以作为并集选择器的一部分。如果某些选择器定义的样式完全相同或部分相同,可以利用并集选择器为它们定义相同的CSS样式。

如果在页面中有2个标题和3个段落且它们的字号和颜色相同,同时其中一个标题和两个段落文本有下画线效果,这时就可以使用并集选择器定义CSS样式,如下例所示。

<!doctype html>
<html>
<head>
<meta charaet="utf-8">
<title>井集选择器</title>
<style type="text/css">
h2,h3,p{color:red; font-size:14px:}/*不同标签组成的并集选择器*/
h3,.special,#one{text-decoration:underline;} /*标签选择器、类选择器、id选择器组成的并集选择器*/
</style>
</head>
<body>
<h2>二级标题文本。</h2>
<h3>三级标题文本,加下画线,</h3>
<p claas="special">段落文本1,加下画线。</p>
<p>段落文本2,普通文本。</p>
<p id="one">段落文本3,加下画线。</p>
</body>
</html>

在例3-12中,使用由不同标签组成的并集选择器“h2.h3.p”控制所有标题和段落的字号和颜色。然后,使用由标签选择器、类选择器、id选择器组成的并集选择器“h3.special,fhfone”定义某些文本的下画线效果。


分享到:
在线咨询 我要报名
和我们在线交谈!