技术经验分享:CSS后代选择器、子元素选择器、相邻兄弟选择器区别与详解

简介: 技术经验分享:CSS后代选择器、子元素选择器、相邻兄弟选择器区别与详解

"

派生选择器用的很多,派生选择器具体包括为后代选择器、子元素选择器、相邻兄弟选择器,我们来理解//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDQyNTYxNg==.html

一下他们之间的具体用法与区别。

1、css后代选择器

语法:h1 em {color:red;} 表示的是从h1开始里面包含的所有的em元素变成红色,h1为祖先,其他的em都是后代,即选中后代,不管是儿子还是孙子,只要是都会被选中,为后代选择器。

例如

ul em {color:red; font-weight:bold;}

List item 1

List item 1-1

List item 1-2

List item 1-3

List item 1-3-1

List item 1-3-2

List item 1-3-3

List item 1-4

List item 2

List item 3

即,无论你在哪里,我都要选中你,因为你是我的后代。

经常看见css的后代选择器是这样的写法:

div.class 和 .class div 的形式两者的区别:

div.class 是选中的类名为class 的div元素,与直接使用类选择器.class不同,因为可能有其他的元素使用了class类名,比如

,就不会被div.class选中;

.class div 是后代选择器的一种,表示选中 类名为class的元素包含的所有的div元素;

2、css子元素选择器

语法:h1>em{color:red;} 表示的是从h1开始里面的第一层em元素变成红色,h1为祖先,em为儿子,就像世袭制一样,只能传给儿子,孙子和其他堂亲都不行,例如

h1 > strong {color:red;}

This is very very important.

This is really very important.

只有第一个h1会变色。

3、相邻兄弟选择器

语法:h1 + p {margin-top:50//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDQyMTA0MA==.html

px;} 表示是“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”这是官方的说法,理解的误区在于这个加号,h1和p并不是同时被选中的,而是选择的是h1紧跟着后面的p元素,是递进的关系,例如:

li + li {color:red;}

List item 1

List item 2

List item 3

List item 1

List item 2

List item 3

li+li选择的是第二个li,同理也可以理解成紧跟着第二个li的兄弟,即是第三个li,当然是在同一个级别下。所以出现第二、三li被选中。

完整示例:

Selector

ulem {

color: red;

font-weight: bold;

}

h1+p{

color:red;

}

List item 1

List item 1-1

List item 1-2

List item 1-3

List item 2

List item 3

H1

param

H2


"
image.png
相关文章
|
27天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
35 6
|
27天前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
40 5
|
1月前
|
移动开发 前端开发 JavaScript
除了 CSS3,还有哪些技术可以实现动画效果?
除了 CSS3,还有哪些技术可以实现动画效果?
58 5
|
1月前
|
前端开发 Ruby
CSS 预编语言的区别
【10月更文挑战第24天】Sass、Less 和 Stylus 等 CSS 预编语言在语法特点、功能特性、性能表现、社区和生态系统等方面存在着不同之处。在选择使用哪种预编语言时,需要综合考虑项目需求、团队技术偏好、个人习惯等因素。你可以根据具体情况进行评估和选择,以充分发挥这些语言的优势,提高前端开发的效率和质量。
|
1月前
|
前端开发 开发者 UED
设备像素、css像素、设备独立像素、dpr、ppi之间的区别
【10月更文挑战第24天】在实际应用中,这些概念相互关联,共同影响着网页在不同设备上的显示表现。开发者需要了解它们之间的区别和关系,以便更好地进行网页设计和优化,确保在各种设备上都能提供良好的用户体验。
|
1月前
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
50 2
|
2月前
|
前端开发 开发者 UED
CSS不同技术的探讨
【10月更文挑战第11天】 CSS不同技术的探讨
|
2月前
|
存储 前端开发 JavaScript
CSS:现代Web设计的不同技术
【10月更文挑战第11天】 CSS:现代Web设计的不同技术
|
2月前
|
前端开发 开发者 UED
CSS技术的演变与应用
【10月更文挑战第11天】CSS技术的演变与应用
|
2月前
|
前端开发 JavaScript
css的引入方式和区别
css的引入方式和区别
43 0