【网页前端】CSS的三大特性层叠性、继承性、优先级

简介: 【网页前端】CSS的三大特性层叠性、继承性、优先级

1. 引言&概述

image.png

我们前面学过,CSS 是层叠样式表,多个样式会作用在同一个 HTML 元素上。

但我们通常会发现,并非所有样式会同时起作用。

例如:以下多段 CSS 代码同时作用于某 div 标签,多个样式显示效果为 红色。

image.png

所以,为了更好地认识 CSS 样式调节,我们需要学习 CSS 的三大特性。

这三大特性分别为:层叠性、继承性、优先级

下面我们来逐步深入。

2. 层叠性

层叠性:为相同选择器设置相同样式。

作用:解决样式冲突问题。

准备代码:

image.png

代码效果:

image.png

分析效果:

image.png

层叠原则总结:

1、 样式冲突,遵循“就近原则”/“最后原则”,哪个样式离标签最近,哪个样式最后设置,就执

行哪个样式

2、 样式不冲突,就不会出现完全 层叠覆盖。

image.png

image.png

3. 继承性

继承性:在 CSS 中,子元素可以继承父元素的某些样式。(

text- , font- , line- , color 等)

作用:简化页面 CSS 代码,降低 CSS 样式复杂度。

image.png

课堂练习:请通过继承性,编写 CSS 代码,实现以下效果

image.png

效果:

image.png

4. 优先级

4.1 单优先级权重算法

优先级:当多个选择器样式同时作用在某一元素上,优先选择生效哪个样式,就是优先级。

优先级作用说明:

选择器相同,则执行层叠性

选择器不同,计算选择器权重,权重大的生效。

选择器权重算法:由 A,B,C,D 四个值组成

值大小顺序:A>B>C>D

例如:1,0,0,0 大于 0,1,0,0

1,0,0,0 大于 0,12,0,0

0,1,0,0 大于 0,0,1,1

0,1,1,0 大于 0,1,0,0

总之: 1  某一位可以不断累加数字,不会向其他位进位

2 、 A 位永远大于 BCD 位,无论其他位数字多少

B 位永远大于 CD 位,无论 CD 位数字多少,以此类推

权重换算表:

image.png

准备代码: 用于课堂练习

image.png

示例代码:

image.png

image.png

image.png

效果及分析

image.png

image.png

4.2 复合优先级权重算法

开发中,我们经常遇到的是复合选择器,而非单一选择器

image.png

所以我们要结合 权重换算表 学习复合优先级权重算法。

1、 出现一次 行内样式,权重中,A +1

image.png

2、 出现一次 ID 选择器,权重中,B +1

3、 出现一次 类选择器 或 伪类选择器 或 属性选择器,权重中,C +1

4 、 出现一次 标签选择器 或 伪元素选择器 ,权重中, D  +1

image.png

image.png

思考:为什么以下代码,最终展示效果为蓝色

image.png

image.png

image.png

4.3 最大优先级设置

在开发中, 为了测试方便,有时我们会提升一段样式代码的优先级到最大,用以展示测试效果。

格式:!important

示例代码:

image.png

效果实现:

image.png

注意事项:

一般用于前端框架开发中,进行代码测试。

开发者开发中尽量不要使用。

(否则导致 JS 控制样式失败,因为 JS 写出的是行内样式,优先级低于 !import )

4.4 总结

多个选择器在选择哪个样式起作用时,优先级高的起作用。

使用权重判断优先级。

权重由四位组成:A,B,C,D

值大小顺序:A>B>C>D

复合优先级权重运算方式:

行内样式是 A 位,1,0,0,0

出现一次 ID 选择器,权重中,B +1

出现一次 类选择器 或 伪类选择器 或 属性选择器,权重中,C +1

出现一次 标签选择器 或 伪元素选择器 ,权重中,D +1



















相关文章
|
1月前
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
26 5
|
1月前
|
Web App开发 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用CSS3,打造炫酷视觉效果!
【10月更文挑战第31天】前端开发面临复杂布局的挑战,本文介绍了几种提升开发效率和代码质量的工具和技术。基础的HTML和CSS可以应对大部分布局需求,而Firefox开发者工具、VS Code、Vue、React等则能应对更复杂的布局,帮助开发者构建高性能、用户友好的网页应用。
32 4
|
1月前
|
缓存 前端开发 JavaScript
前端小白也能掌握的高级技巧:如何让你的网页支持PWA特性?
【10月更文挑战第30天】随着互联网技术发展,渐进式网页应用(PWA)成为提升用户体验的重要手段。本文通过一个案例,介绍如何为在线问答社区网页应用添加PWA特性。从创建基本结构、添加Service Worker、创建Manifest文件到测试PWA特性,详细展示了每一步的操作方法。适合前端小白学习参考。
27 2
|
2月前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
268 1
|
2月前
|
前端开发
CSS 中哪些属性可以继承
在 CSS 中,属性分为可继承与不可继承。可继承属性会在子元素中沿用父元素的样式设定。常见可继承属性包括:文本属性(如 `font-family`, `color`),列表属性(如 `list-style`),表格布局属性(如 `border-collapse`),以及其他如 `visibility` 和 `direction` 等属性。正确理解这些属性有助于更高效地进行样式设计。
|
2月前
|
前端开发
哪些 CSS 属性可以继承?
哪些 CSS 属性可以继承?
59 0
|
2月前
|
前端开发 JavaScript 容器
前端之CSS基础知识
前端之CSS基础知识
19 0
|
1天前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
64 24
|
1月前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
61 7