CSS选择器之兄弟选择器(~和+)

  今天在改以以前人家写的网页的样式的时候,碰到这个选择器,‘~’,当时我是懵逼的,傻傻分不清 ‘+’ 跟 ‘~’的区别,虽然我知道他们都是兄弟选择器。

  后来网上查了下,也许是我查找的方式不对,没有找到我想要的答案,于是私下拿这两个选择器来测试了一下。发现原来是这样的。

  先来代码说话:

  (1)、‘~’选择器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .h3 ~ p{
            color: red;
        }
    </style>
</head>
<body>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
    <h3 class="h3">这是标题标签</h3>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
    <h3>这是标题标签</h3>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
</body>
</html>

  效果如下:

        

 

  (2)、‘+’选择器

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .h3 + p{
            color: red;
        }
    </style>
</head>
<body>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
    <h3 class="h3">这是标题标签</h3>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
    <h3>这是标题标签</h3>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
    <p>这是段落标签</p>
</body>
</html>

  代码还是那些,只是把‘~’换成了‘+’,结果是大不相同。

      

 

    通过这两个例子,可以发现虽然这两个选择器都表示兄弟选择器,但是‘+’选择器则表示某元素后相邻的兄弟元素,也就是紧挨着的,是单个的。而‘~’选择器则表示某元素后所有同级的指定元素,强调所有的。

 

posted @   江峰★  阅读(54976)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示