【网页前端】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



















相关文章
|
15天前
|
Web App开发 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用CSS3,打造炫酷视觉效果!
【10月更文挑战第31天】前端开发面临复杂布局的挑战,本文介绍了几种提升开发效率和代码质量的工具和技术。基础的HTML和CSS可以应对大部分布局需求,而Firefox开发者工具、VS Code、Vue、React等则能应对更复杂的布局,帮助开发者构建高性能、用户友好的网页应用。
25 4
|
9天前
|
前端开发
css特性
css特性 1.继承性:子级继承父级文字控制属性 ps:子级拥有自己的样式则不会继承父级。 2.层叠性:相同的属性后面覆盖前面,不同的属性叠加 3.优先级:选择器优先级高的样式生效 公式:通配符<标签<类<id<行内样式<!important(选中范围越大,优先级越低) 叠加计算规则:存在复合选择器时,从左向右依次比较个数,同一级个数多的优先级高,如果个数相同,则向后比较;!important权重最高;继承权重最低。
|
1月前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
167 1
|
1月前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
1月前
|
前端开发 JavaScript 容器
前端之CSS基础知识
前端之CSS基础知识
17 0
|
1月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
133 2
|
1月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
42 0
|
1月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
|
1月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
1月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。