CSS中的多种关系选择器

后代选择器

选择所有被E元素包含的F元素,中间用空格隔开。

例;

html 复制代码
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .continer p{
            text-align: center;
        }
    </style>
</head>
<body>
    <p>我是后代选择器</p><!--/*该p标签不是continer的后代所以其没有发生改变*/-->
    <div class="continer">
        <div>
            <p>我是后代选择器</p>
            <p>我是后代选择器</p>
            <div>
                <p>我是后代选择器</p>
            </div>
        </div>
    </div>
</body>

子代选择器

选择所有作为E元素的直接子元素F,对更深一层的元素不起作用,用>符号表示。

例:

html 复制代码
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .continer>p{
            text-align: center;
        }
    </style>
</head>
<body>
    <p>我是子代选择器</p><!--/*该p标签不是continer的后代所以其没有发生改变*/-->
    <div class="continer">
            <p>我是子代选择器</p>
            <p>我是子代选择器</p>
            <div>
                <p>我是子代选择器</p><!--/*该p标签不是continer的直接子元素所以其没有发生改变*/-->
            </div>
    </div>
</body>

相邻兄弟选择器

选择进更E元素后的F元素,用+号来表示,选择相邻的第一个兄弟元素。(只能向下选择)。

例:

html 复制代码
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .continer+p{
            text-align: center;
        }
    </style>
</head>
<body>
    <p>我是相邻兄弟选择器</p><!--/*相邻兄弟选择器只能向下选择*/-->
    <div class="continer"></div>
            <p>我是相邻兄弟选择器</p>
            <p>我是相邻兄弟选择器</p><!--/*该p标签不是continer的第一个相邻兄弟元素所以其没有发生改变*/-->
            <div>
                <p>我是相邻兄弟选择器</p><!--/*该p标签不是continer的兄弟元素所以其没有发生改变*/-->
            </div>
</body>
</html>

通用兄弟选择器

选择E元素之后的所有兄弟元素F,用~符号表示。(只能向下选择)

例:

html 复制代码
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .continer~p{
            text-align: center;
        }
    </style>
</head>
<body>
    <p>我是通用兄弟选择器</p><!--/*通用兄弟选择器只能向下选择*/-->
    <div class="continer"></div>
            <p>我是通用兄弟选择器</p>
            <p>我是通用兄弟选择器</p>
            <div>
                <p>我是相邻兄弟选择器</p><!--/*该p标签不是continer的兄弟元素所以其没有发生改变*/-->
            </div>
</body>
相关推荐
এ慕ོ冬℘゜5 小时前
纯 CSS 实现自定义 Switch 开关(商品上下架滑块)
前端·css
并不喜欢吃鱼7 小时前
二.前端web开发:零基础吃透 CSS 核心知识
前端·css
思码梁田7 小时前
CSS display 属性:从元素类型转换到隐藏元素的实用指南
前端·css·display·inline·block·none·inline-block
weipt8 小时前
springboot项目运行的几种方式
javascript·css·html
用户059540174461 天前
把AI对话记忆存储测试从手工改成Playwright+pytest,覆盖率从20%提到96%,回归时间缩短90%
前端·css
醉城夜风~1 天前
CSS盒模型(Box Model)
前端·css
呼噜想睡觉1 天前
Flex弹性布局
css·html·css3
用户059540174461 天前
「记仇」记忆存储测试踩坑实录:用 Pytest+Docker 把 BUG 扼杀在凌晨 3 点前
前端·css
郑板桥301 天前
前端周刊 | 第 42 期:Rspack 2.0 破局、cdnjs 全量上云、CSS 交错动画入基线(2026.07.28 - 08.03)
前端·css
NutShell Wang1 天前
渐变刚甩掉「灰廊」,就被 OKLCH 裁出硬边:sRGB / HSL / OKLCH 三条插值路径的实测复盘
前端·css·vibe coding