动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

深入解析CSS三大特性

04-26 16:33 723浏览
举报 T字号
  • 大字
  • 中字
  • 小字

我们在前端开发使用HTML语言时,多数情况都会引入CSS。CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。这一切都和CSS的3大特性息息相关,CSS的3大特性是指层叠性、继承性以及优先级。

1.CSS层叠性

说明:层叠性是多种CSS样式的叠加,是浏览器处理样式冲突的方式。在HTML中对于同一个元素可以有多个CSS样式存在,当有相同权重的样式存在时,会根据这些样式出现的先后顺序来决定,处于最后面的CSS样式将会覆盖前面的CSS样式。

举例:
下面代码,出现一个div 标签指定了相同样式不同值的情况,这就是样式冲突。

div{
    color:red;
}
div{
    color:blue;
}

原则:
通常出现样式冲突,会按CSS书写的顺序,以最后的样式为准。

样式不冲突,不会层叠。

样式冲突,遵循就近原则。 长江后浪推前浪,后面样式盖前面。

2.CSS继承性

说明:简单的理解为—“子承父业“,是指子标签会继承父标签的==某些==样式,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可。

举例:

<style>
    div{color:pink;font-size:20px;}
</style>
<div>
    <span>
        我是什么颜色的?
    </span>
</div>

合理使用继承可以简化代码,降低CSS样式的复杂性。对于字体、字号、颜色、行距等==文本类属性==具有继承性,都可以在body中统一设置,然后影响文档中所有文本。

但是,并不是所有的CSS属性都可以继承,如边框、外边距、内边距、背景、定位、元素高度等==与块级元素相关的==属性都不具有继承性。

3.CSS优先级

在复杂CSS样式表,往往并不是相同样式不同值的堆叠这么简单,经常出现两个或多个不同样式规则应用在同一元素上,这时到底采用哪个样式呢?这就是典型的CSS优先级问题。

处理优先级问题,就是考虑样式权重的高低。这里先给大家介绍一些特殊的情况:

==继承样式的权重为0。==也就是说,在嵌套结构中,无论父元素样式权重多大,子元素继承时,应用在子元素上的权重都为0,即子元素定义的样式会覆盖所有继承来的样式。

==行内样式优先。==应用style属性的元素,其行内样式的权重非常高,可以理解为远大于100。总之,他拥有比上面提高的选择器都大的优先级。

权重相同时,CSS遵循就近原则。也就是说靠近元素的样式具有最大的优先级,或者说排在最后的样式优先级最大。

CSS定义了一个!important命令,该命令被赋予最大的优先级。也就是说不管权重如何以及样式位置的远近,!important都具有最大优先级。

CSS能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。这些都归功于CSS的特性,掌握CSS特性是我们能够合理使用CSS的前提条件。​

0人推荐
共同学习,写下你的评论
0条评论
代码小兵498
程序员代码小兵498

153篇文章贡献528999字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

JavaWeb的3大组件

代码小兵49806-11 15:28

全面解析Cookie技术

代码小兵49806-11 15:51

浅谈JavaWeb架构演变

代码小兵49806-11 16:22

探讨Web开发中的Session存储与管理

代码小兵51603-29 17:28

JavaScript基础知识

 暴风城-小飞04-06 20:49

发评论

举报

0/150

取消