[css选择器] 相邻兄弟选择器

相邻兄弟选择器

原文链接: CSS 相邻兄弟选择器
相邻兄弟选择器(Adjacent sibling selector) 可选择紧接在另一元素后的元素,且二者有相同父元素。只会选择第一个相邻的匹配元素

定义和用法

element+element选择器用于选取第一个指定元素之后(不是内部)紧跟的元素。

实例

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        div + p {
            background-color: yellow;
        }
    </style>
</head>
<body>
<h1>欢迎来到我的主页</h1>
<div>
    <p>我是唐老鸭</p>
    <p>我住在 Duckburg。</p>
</div>
<p>我最好的朋友是米老鼠。</p>
<p>我的样式不会改变。</p>
</body>
</html>

在这里插入图片描述

选择相邻兄弟

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。
例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:

h1 + p { margin-top: 50px; }

这个选择器读作: “选择紧接在 h1元素后出现的段落,h1 和 p 元素拥有共同的父元素”。
在这里插入图片描述

语法解释

相邻兄弟选择器使用了加号(+),即相邻兄弟结合符(Adjacent sibling combinator)。
注释: 与子结合符一样,相邻兄弟结合符旁边可以有空白符。

请看下面这个文档树片段:

<div>
  <ul>
    <li>List item 1</li>
    <li>List item 2</li>
    <li>List item 3</li>
  </ul>
  <ol>
    <li>List item 1</li>
    <li>List item 2</li>
    <li>List item 3</li>
  </ol>
</div>

在上面的片段中,div元素中包含两个列表:一个无序列表,一个有序列表,每个列表都包含三个列表项。这两个列表是相信兄弟,列表项本身也是相邻兄弟。不过,第一个列表中的列表项与第二个列表中的列表项不是相邻兄弟,因为这两组列表项不属于同一父元素(最多只能算堂兄弟)。

请记住,用一个结合符只能选择两个相信兄弟中的第二个元素。请看下面的选择器:

li + li {font-weight:bold;}

上面这个选择器只会把列表中的第二个和第三个列表项变为粗体。第一个列表项不受影响

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值