当前位置: 首页 > news >正文

CSS 相邻元素选择器

  相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。
选择相邻兄弟
  如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(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;}
上面这个选择器只会把列表中的第二个和第三个列表项变为粗体。第一个列表项不受影响。


亲自试一试


结合其他选择器
相邻兄弟结合符还可以结合其他结合符:
html > body table + ul {margin-top:20px;}
这个选择器解释为:选择紧接在 table 元素后出现的所有兄弟 ul 元素,该 table 元素包含在一个 body 元素中,body 元素本身是 html 元素的子元素。

转载于:https://www.cnblogs.com/luxd/p/5977091.html

相关文章:

  • 设计模式——装饰者模式:婚纱照收费的简单实现
  • asp.net C#操作存储过程读取存储过程输出参数值
  • sync_binlog innodb_flush_log_at_trx_commit 浅析
  • 昂靠的由来[本博作者爆料]
  • js 中 空值赋值运算符 的用法
  • node学习系列之简单文件上传
  • 前端 关于汇率的计算
  • mongoDB 文档查询
  • 安装了python报错 或者执行 npm install 时报node-sass的各种相关错误 解决办法
  • 今天打开一个网站 FSO对象实例创建失败
  • 【LeetCode】5. Longest Palindromic Substring 最大回文子串
  • vu2响应式原理 代码分析
  • 希尔排序
  • vu3响应式原理 代码分析
  • Java Tomcat SSL 服务端/客户端双向认证(一)
  • E-HPC支持多队列管理和自动伸缩
  • input的行数自动增减
  • linux学习笔记
  • SQLServer之创建数据库快照
  • 给新手的新浪微博 SDK 集成教程【一】
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 回顾2016
  • 前端面试之CSS3新特性
  • 前端之Sass/Scss实战笔记
  • 区块链将重新定义世界
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 深入浅出webpack学习(1)--核心概念
  • 十年未变!安全,谁之责?(下)
  • 我的zsh配置, 2019最新方案
  • 在Mac OS X上安装 Ruby运行环境
  • 怎么将电脑中的声音录制成WAV格式
  • 白色的风信子
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 仓管云——企业云erp功能有哪些?
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​香农与信息论三大定律
  • #Linux(权限管理)
  • #pragma 指令
  • (C语言)fgets与fputs函数详解
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (离散数学)逻辑连接词
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (四)库存超卖案例实战——优化redis分布式锁
  • (推荐)叮当——中文语音对话机器人
  • *1 计算机基础和操作系统基础及几大协议
  • .bashrc在哪里,alias妙用
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET 命令行参数包含应用程序路径吗?
  • .net 提取注释生成API文档 帮助文档
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .NET框架类在ASP.NET中的使用(2) ——QA