欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS提高篇(复合选择器)

程序员文章站 2024-03-16 20:54:10
...

后代选择器

在CSS选择器中通过嵌套的方式,对特殊位置的HTML标签进行声明,外层的标签写在前面,内层的标签写在后面,之间用空格分隔,标签嵌套时内层的标签成为外层标签的后代。

就是首先要符合外层标签然后还符合内层标签,这样的就可以被后代选择器修饰了

看样例代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            div h3{
                color: red;
            }
        </style>
    </head>
    <body>

    <div>
            <h3>水果</h3>
            <ul>
                <li>
                    <h3>列表中的h3</h3>
                    香蕉</li>
                <li>苹果</li>
                <li>橘子</li>
                <li>菠萝</li>
            </ul>
           
            <h3>手机品牌</h2>
            <ul>
                <li>华为</li>
                <li>小米</li>
                <li>苹果</li>
                <li>联想</li>
                <li>三星</li>
            </ul>
    </div>
    <h3>div外面的h3标题</h3>
    </body>
</html>

看下图,首先红色框 div 里的所有 h3 都会被上面的后代选择器给修饰,所有在 div 范围里的 h3 都会变成红色,下面蓝色框的 h3 ,由于不在 div 里面,所以不会被修饰。

CSS提高篇(复合选择器)
运行效果:
CSS提高篇(复合选择器)

所以这个很好理解吧,继续往下看

交集选择器

由两个选择器直接连接构成,选中二者各自元素范围的交集 第一个必须是标签选择器第二个必须是类选择器或者ID选择器,选择器之间不能有空格,必须连续书写。

看样例代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            h3.aa{
                color: red;
            }
			h3#bb{
				color: green;
			}
        </style>
    </head>
    <body>

    
            <h3 class="aa">水果</h3>
            <ul>
                <li>香蕉</li>
                <li>苹果</li>
                <li>橘子</li>
                <li>菠萝</li>
            </ul>
           
            <h3>手机品牌</h2>
            <ul>
				<h3 class="aa">列表里的h3标题</h3>
                <li>华为</li>
                <li>小米</li>
                <li>苹果</li>
                <li>联想</li>
                <li>三星</li>
            </ul>
    
    <div class="aa">class为aa但是不是h3标签的情况</div>
	<h3 id="bb">第二部分为id选择器的情况</h3>
    </body>
</html>

看下图
红色的框框就是第一部分是便签选择器第二部分是类选择器的情况
绿色的框框就是第一部分是便签选择器第二部分是id选择器的情况
紫色的框框虽然类是aa但是不是h3标签,所以不会被修饰

CSS提高篇(复合选择器)
运行效果:
CSS提高篇(复合选择器)

这个也很好理解吧,就是交集,第一部分符合并且第二部分也符合就是可以被修饰的情况,顾名思义就是取交集。

并集选择器

多个选择器通过逗号连接而成,利用并集选择器同时声明风格相同样式
并集,只要符合其中一种就会被修饰

看样例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			h3,li{
				color: red;
			}
		</style>
	</head>
	<body>
		<h3>水果</h3>
		<ul>
			<li>香蕉</li>
			<li>苹果</li>
			<li>橘子</li>
			<li>菠萝</li>
		</ul>
		
		<h2>手机品牌</h2>
		<ul>
		    <li>华为</li>
		    <li>小米</li>
		    <li>苹果</li>
		    <li>联想</li>
		    <li>三星</li>
		</ul>
		<h3>牛哄哄的柯南</h3>
	</body>
</html>

h3,li{
color: red;
}

如下图,所有的只要是 h3 或者是 li 的都会被修饰成红色。
h2 不属于其中的任意一种,所以不会被修饰

CSS提高篇(复合选择器)
运行效果:
CSS提高篇(复合选择器)

效果就是这样,并集,只要是其中的一种就会被标记了,注意多个选择器通过逗号连接而成 。

写作不易,看完如果对你有帮助,感谢点赞支持!
如果你是电脑端,右下角还有"一键三连",没错点它[哈哈]

CSS提高篇(复合选择器)
加油!

共同努力!

Keafmd

相关标签: css 复合选择器