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



















相关文章
|
2月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
185 0
|
2月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
293 1
|
2月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
Animation属性 css3为Animation动画提供的几个属性如下: 属性名 属性值 animation-name 指定动画名称,该属性指定一个已有的关键帧定义。 animation-duration 指定动画持续时间。 animation-timing-funtion 指定动画变化速度。 animation-delay 指定动画延迟多长时间才开始执行。 animation-iteration-count 指定动画的循环执行次数。 animation:这是一个复合属性。
249 2
|
2月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
419 0
|
6月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
6月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
6月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
6月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
6月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
6月前
|
前端开发
医院检查单子p图软件,在线制作仿真病历,js+css+html装逼神器
本示例展示如何用HTML/CSS创建医疗信息页面,内容仅供学习参考。页面模拟“阳光医院体检中心”场景,提供预约功能验证(如姓名、手机号、日期)。所有数据仅用于演示

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    597
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    249
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    233
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    185
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    293
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    419
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    182
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    123
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    196
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    271