前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航

CSS 组合选择符用法总结

首页2016-09-04 16:50:32Front-End
CSS

# 组合选择符基本介绍


  • 组合选择符说明了两个选择器直接的关系
  • CSS组合选择符包括各种简单选择符的组合方式
  • 在 CSS3 中包含了四种组合方式
    • 后代选取器(以空格分隔)
    • 子元素选择器(以大于号分隔)
    • 相邻兄弟选择器(以加号分隔)
    • 普通兄弟选择器(以破折号分隔)

# 后代选取器


  • 后代选取器匹配所有值得元素的后代元素

  • 实例:

<div>
  <p>我是通过后代选择器选择的元素</p>
  <h1>002</h1>
  <p>我是通过后代选择器选择的元素</p>
</div>	
@前端进阶之旅: 代码已经复制到剪贴板
div p{
    background:red;
}
@前端进阶之旅: 代码已经复制到剪贴板

效果:

# 子元素选择器


  • 如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器

  • html代码的文档树结构如图

<div class="mainDiv">
    我是主DIV
    <div class="son">儿子
        <div class="sunzi">孙子</div>
    </div>
</div>
@前端进阶之旅: 代码已经复制到剪贴板
.mainDiv{
	background:yellow;
	width:100px;
	height:100px;
}
.sunzi{
	background:red;
	width:40px;
	height:40px;
}
.mainDiv > div{background:green;}
@前端进阶之旅: 代码已经复制到剪贴板

  • 然后我们去掉子代选择器,添加一个后代选择器
.mainDiv div{
            background-color: red;
        }
@前端进阶之旅: 代码已经复制到剪贴板

效果

  • 经过上面的结果展示,我们能得到结论:子代选择器~ 和后代选择(空格)的区别:
    • 子代选择器:只对应用对象的直接相应子节点有效。如实例代码中的儿子div
    • 后代选择器:对应用对象内的所有相应子节点都有效。如实例中的儿子div和孙子div

# 相邻兄弟选择器


  • 相邻兄弟选择器可选择紧接在另一元素后的元素,且二者有相同父元素
  • 以下实例选取了所有位于 <div> 元素后的第一个 <p> 元素
<div>
	<p>001</p>
	<h1>002</h1>
	<p>003</p>
</div>	
<p>我是通过相邻兄弟选择器选择的元素</p>

@前端进阶之旅: 代码已经复制到剪贴板
div + p{background:red;}
@前端进阶之旅: 代码已经复制到剪贴板

效果:

# 普通相邻兄弟选择器


  • 普通兄弟选择器选取所有指定元素的相邻兄弟元素
<div>
  <p>001</p>
  <h1>002</h1>
  <p>003</p>
</div>	
<p>我是普通相邻兄弟选择器~选择的</p>
<p>我是普通相邻兄弟选择器~选择的</p>
<p>我是普通相邻兄弟选择器~选择的</p>
@前端进阶之旅: 代码已经复制到剪贴板
div ~ p{background:red;}
@前端进阶之旅: 代码已经复制到剪贴板

效果

fe
  • 组合选择符基本介绍
  • 后代选取器
  • 子元素选择器
  • 相邻兄弟选择器
  • 普通相邻兄弟选择器

← 学会使用box-sizingCSS布局写给大家看的设计书总结 →