百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

快速掌握CSS三大特性

myzbx 2025-02-13 13:17 18 浏览

直奔主题,CSS的三大特性:继承性,层叠性,优先级

一、继承性

作用: 给父元素设置的一些属性,子元素和后代元素也有权使用

注意:并不是所有的属性都能够继承,只有color / font- / text- / line 开头的属性才可以继承

例:

                   
我是span

我为span的父元素div添加了color/font-size/line-height/text-align/background-color等样式属性,我们打开F12浏览器开发者模式

我们可以看到Inherited from div 这句话 , 它的意思是 从div继承 ,并且除了background-color其它样式属性都是以高亮状态显示,证明了CSS的继承只有部分样式可继承

这里给读者们再提醒一句:a标签的文字颜色与下划线无法被继承改变,h标签的的文字大小也不能被继承正确的改变。

我自己是一名从事了多年开发的web前端老程序员,目前辞职在做自己的web前端私人定制课程,今年我花了一个月整理了一份最适合2020年学习的web前端学习干货,各种框架都有整理,送给每一位前端小伙伴,想要获取的可以关注我的头条号并在后台私信我:前端,即可免费获取。

二、层叠性

作用:处理样式属性冲突的一种解决方式,层叠性只有在多个 选择器选中“同一个标签”然后又设置了“相同的属性”才会出现咱们的层叠性

例:

                
我是span

这里我们选中到了span,并且设置了同一样式属性和两种不同颜色

第一次设置的颜色被划了一条横线 , 意味着第一次设置的颜色被第二次颜色给覆盖了

那么问题来了?浏览器是根据什么规则来选择谁来覆盖谁的样式呢?

这就涉及到我们的下一个话题 ---->

三、优先级

优先级的作用显而易见:用来判断如何层叠

个人总结了优先级的三种判断方式

1.间接选中(间接选中就是继承)

如果都是间接选中,谁离目标标签近,样式就听谁的

                 
  • CSS的优先级判断

通过继承,间接选中li标签,分别设置不同的字体颜色

浏览器选择从ul里面继承 , 这是因为我们的 ul标签 比 div标签 更加靠近我们的li标签

2.直接选中,但是是相同类型的选中器

这个结论很简单,谁写在后面样式就听谁的,直接看例子:

                
  • CSS的优先级判断

可以看到blue被yellow给层叠了,这是因为yellow写在后面

3.直接选中,但是是不同类型的选择器

直接说结论: id > 类 > 标签 > 通配符 >浏览器默认

                 
  • CSS的优先级判断

看结果可知,只有id选择器活下来了 =.=

其它的读者们可以下来再试一试..


其实,优先级问题还没说完,接下来补充两点:!important 权重

一、!important

作用:用来提升某个直接选中标签的选择器中的某个属性的优先级,可以将被指定的属性提升到最高

注意!!! !important 只能用在直接选中身上!!!而且只能提升某个属性!!并非整个选择器!!

                
  • CSS的优先级判断

根据刚刚所讲 id >类 ,本来应该是id选中器中的属性优先级高,一旦加了!important,结果就是...

二、权重

当多个选择器混合在一起使用时,需要通过计算权重来判断优先级

那么全重怎么判断呢!?

计算规则:看数量

id选择器多的优先级 > 类名选择器多的 > 标签名数量多的

                
  • CSS的优先级判断

由于第一个id选择器的数量多,所以表示为red

如果出现了 id选择器数量 = 类名选择器数量 = 标签名数量 ,就不会继续计算权重了

而是谁写在后面样式就听谁的

原文链接:https://juejin.im/post/6875520020642791437

相关推荐

炫酷的计时器效果Canvas绘图与动画

-----------------------------------------华丽的分割线-----------------------------------------------------...

康托尔集合的绘制及其Python绘制(康托尔集合论的概括原则是什么)

康托尔三分集(Cantorternaryset)是数学中一个著名的分形例子,由德国数学家格奥尔格·康托尔在1883年引入。它通过不断去掉线段的中间三分之一部分,重复这个过程得到的一个分形集合。康托...

一文带你搞懂JS实现压缩图片(js 压缩图片)

作者:wuwhs转发链接:https://segmentfault.com/a/1190000023486410前言公司的移动端业务需要在用户上传图片是由前端压缩图片大小,再上传到服务器,这样可以减...

数据可视化—Echarts图表应用(数据可视化图表类型)

ECharts是一款由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。使用JavaScript实现开源的可视化库,可以流畅的...

ThreeJS中三维世界坐标转换成二维屏幕坐标

Threejs全称是“Javascript3Dlibrary”。WebGL则是openGL在浏览器上的一个实现。Threejs对WebGL进行了封装,让前端开发人员在不需要掌握很多数学知识和绘图知...

鸿蒙开源第三方件组件——加载动画库

前言基于安卓平台的加载动画库AVLoadingIndicatorView(https://github.com/81813780/AVLoadingIndicatorView),实现了鸿蒙化迁移和重构...

canvas实现下雪背景图(canvas绘制背景图)

canvas下雪背景html+css+js实现:1.定义标签:<h1>北极光之夜。</h1><divclass="bg"></...

用canvas画简单的“我的世界”人物头像

前言:花了4天半终于看完了《HeadFirstHTML5》,这本书的学习给我最大的感受就是,自己知识的浅薄,还有非常多非常棒的技术在等着我呢。[熊本表情]扶朕起来,朕还能学!H5新增标签里面最喜欢...

Manim-基础图形之点(什么叫图形基点)

制作数学演示视频时需要用到各类的集合图形,manim中内置了一些列的图形,本篇就从最简单的点讲起。点作为manim中最简单图形,也是其他所有图形的基,所有图形的绘制都是靠点来定位。manim中的点主...

一起学 WebGL:坐标系(坐标系格式)

大家好,我是前端西瓜哥,今天我们来学习WebGL。WebGL的世界坐标系是三维的。默认使用笛卡尔坐标系的右手坐标系,满足右手定则,即x轴向右,y轴向上,z轴向着观察者,原点位于画布中心。然...

漫画 欣赏 - 聖鬥士星矢 THE.LOST.CANVAS 冥王神話 24

《圣斗士星矢THELOSTCANVAS冥王神话》改编自车田正美原作的漫画《圣斗士星矢》,由车田正美原作、手代木史织作画。其外传《圣斗士星矢THELOSTCANVAS冥王神话外传》则在《...

漫画 欣赏 - 聖鬥士星矢 THE.LOST.CANVAS 冥王神話 25 - 完结篇

《圣斗士星矢THELOSTCANVAS冥王神话》改编自车田正美原作的漫画《圣斗士星矢》,由车田正美原作、手代木史织作画。其外传《圣斗士星矢THELOSTCANVAS冥王神话外传》则在《...

Eric Fischl 名画录(eric tucker画家)

艾瑞克费舍尔(EricFischl,1948——),是美国新表现主义画家,当代国际画坛一位十分活跃的人物,在国际上享有很高的知名度。作为20世纪美国第6次经济衰退时期本土第一个伟大画家艾瑞克·费舍尔...

canvas绘画板的实现(canvas画布)

新项目有一个需求:客户需要在订单确认的时候签名。第一反应就是用html的canvas实现,同事一起商量了下,canvas有三个制约:canvas必须要用鼠标,签名会很难看;手机端webapp怎么实现...

Python程序开发之简单小程序实例(9)利用Canvas绘制图形和文字

Python程序开发之简单小程序实例(9)利用Canvas绘制图形和文字一、项目功能利用Tkinter组件中的Canvas绘制图形和文字。二、项目分析要在窗体中绘制图形和文字,需先导入Tkinter组...