CSS---CSS的三大特性---6.30

CSS的三大特性

CSS有三个非常重要的特性:层叠性继承性优先级

层叠性:相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突的问题。

层叠性原则:样式冲突,遵循的原则是就近原则,哪个样式离结构近,就执行哪个样式

                      样式不冲突,不会层叠。

继承性:子标签会继承父标签的某些样式,如文字颜色和字号,简单理解:子承父业。

恰当地使用继承可以简化代码,降低CSS样式的复杂性。

子元素可以继承父元素的样式(text-,font-,line- 这些元素开头的可以继承,以及color属性)

行高的继承性body { font:12px/1.5  Microsoft yahei;}  行高是12px的1.5倍=18px 

body行高1.5这样写法最大的优势是里面子元素可以根据自己文字大小自动调整行高

优先级: 当同一个元素指定多个选择器,就会有优先级的产生。

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

选择器不同,则根据选择器权重执行

 优先级注意点:
1.权重是有4组数字组成但是不会有进位。
2.可以理解为类选择器永远大于元选择器,id选择器永远大于类选择器,以此类推。
3.等级判断从左向右,如果某一位数值相同,则判断下一位数值。
4.可以简单记忆法:通配符和继承权重为0,标签选择器为1,类(伪类)选择器为10等等。.
5.继承的权重是0如果该元素没有直接选中,不管父元素权重多高,子元素得到的权重是0

权重叠加:

如果是复合选择器,则会有权重叠加,需要计算权重。

div ul li  ------ 0,0,0,3

.nav ul li ------ 0,0,1,2

a:hover ------ 0,0,1,1

.nav a ------ 0,0,1,1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS-in-CSS是一种前端开发技术,也被称为CSS嵌套或CSS模块化。它的主要思想是将CSS样式定义在组件级别,使得样式与组件的逻辑和结构紧密关联,提高代码的可维护性和可重用性。 在传统的CSS开发中,样式是全局共享的,容易造成样式冲突和难以维护。而CSS-in-CSS通过将样式封装在组件内部,实现了样式的局部作用域。这样一来,每个组件都可以拥有自己独立的样式规则,不会相互干扰。 CSS-in-CSS有多种实现方式,其中比较常见的有以下几种: 1. CSS Modules:CSS Modules是一种使用Webpack等构建工具实现的CSS-in-CSS方案。它通过给每个CSS类名添加唯一的哈希值,实现了样式的局部作用域。在使用时,可以通过import语法引入CSS文件,并在组件中使用对应的类名。 2. CSS-in-JS:CSS-in-JS是一种将CSS样式直接写在JavaScript代码中的方式。它通过使用JavaScript对象来描述样式规则,并在运行时动态生成对应的CSS。常见的CSS-in-JS库有styled-components、Emotion等。 3. CSS Nesting:CSS Nesting是一种提案,旨在原生CSS中实现嵌套样式的语法。它使用类似于Sass的嵌套语法,可以更方便地描述组件内部的样式关系。目前,CSS Nesting还处于实验阶段,尚未得到所有浏览器的广泛支持。 总的来说,CSS-in-CSS是一种将CSS样式与组件紧密结合的开发方式,可以提高代码的可维护性和可重用性。不同的实现方式适用于不同的项目需求和开发环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值