2020-05-25

CSS样式引入优先级

作者:青花
转载请注源

常见的CSS样式分为三种引入方式:
1.标签内直接插入:
<style="...">
2.内嵌在页面中:
<style type="text/css"> 
body{
    margin-bottom:55px;
    width:100%;
}
p {
    color:blue
}
</style>

3.创建CSS文件,引入到网页中:
例如:css.css,目录为同级目录下的子目录css
在页面创建引入标签:
<link rel="stylesheet" href="css/css.css" />


优先级说明:
标签内的样式(例如:<a style="color:#fff;">菜单</a>)优先于内嵌样式和外部引入样式;

内嵌样式ID写法(例如:#abc{color:#fff;})优先于外部样式;

外部样式(例如:a.css样式文件,引入到网页中<link rel="stylesheet" href="css/a.css" />),其优先级大于内嵌样式标签写法(例如:a{color:#fff;},这个优先级存在不确定因素,但大多数情况下,外部引入的独立css样式会优先生效于内嵌标签样式的,具体看写法,因为大多数情况是这样,所以外部引入在这里就视为优先;

外部样式(例如:a.css样式文件,引入到网页中<link rel="stylesheet" href="css/a.css" />),其优先级大于内嵌样式自定义标签写法(例如:.a{color:#fff;}),与上面一样,但大多数情况下,外部引入的独立css样式会优先生效于内嵌自定义标签样式,具体还是看写法,同样是大多数情况外部嵌入优先,所以外部引入在这里就视为优先;

行内元素标签内的CSS样式优先级要大于块级元素标签的CSS样式;
例1:颜色是#005654
<div style="color:#fff;">
<a style="color:#005654;">
菜单
</a>
</div>2:div的样式是css1,但不包含<a>的内容,a的样式是css2
<div id="css1">
<a  id="css2">
菜单
</a>
</div>3:div的样式是123,但不包含<a>的内容,a的样式是456
<div class="123">
<a calss="456">
菜单
</a>
</div>4:div的样式是白色文字,但是仅对没有独立设置style的行内元素生效,即,菜单1是白色,但菜单2是红色的;
<div style="color:#fff;">
<a>
菜单1
</a>
<a calss="456">  (#456{color:red;})
菜单2
</a>
</div>

      由此证明,无论是怎么个引入的方式(或写法),子级元素的设定相对于其自身而言都是大于它的父级的,因为块级元素负责的是区域元素,而行内元素负责的是自身的,也就是细节元素,除非使用结构伪类来改变优先级。
      此外,非必要时,css样式引入不要放在js引入的后面,这样会导致页面加载缓慢或异常,页面样式的载入要优先于页面其它处理事件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值