美文网首页
css优先级

css优先级

作者: Mescal川 | 来源:发表于2016-10-26 22:48 被阅读11次

css有四种加载样式的方式:内联、syle标签、link、import。这四种方式均可以影响html的样式。假设你分别用这四种方式定义了一个div的样式,如果你能确定这四种方式修改的内容均不冲突那就再好不过了。但现实往往不是这样的。假如我通过在外部css定义了背景为红色,内联样式中又定义了蓝色,最终的效果是怎样的?这里就存在一个优先级的问题。

使用计数法计算优先级

现在定义一个四位数,给它初始化0 0 0 0,对于css的每一个选择器,使用如下规则:
1.每有一个id选择符,百位+1
2.每有一个class选择符,十位+1
3.每有一个标签元素、伪类,个位+1
4.其它选择符(例如通配符),不变

如果存在样式冲突,对比二者的四位数大小,最终采用较大者。
注:在优先级相同的情况下,后定义的样式优先级更高。

下面来举一些例子

/*存在一个<div id="iDiv" class="cDiv"></div>*/
#iDiv{
    background-color: black;
}
.cDiv{
    background-color: red;
}
/*.iDiv(0 1 0 0)>#cDiv(0 0 1 0) 最终样式为red*/
/*存在一个<div><p>SunnyChuan</p><div>*/
div p{
    color:red;
}
p{
    color:blue;
}
/*前者0 0 0 2,后者0 0 0 1 最终样式为red*/
/*更加复杂*/
#iDiv .cDiv p a:hover{
    margin:0 auto;
    width:100px;
    height:100px;
/*0 1 1 3*/
}

同一文件中的样式优先级可以通过计数法来算出,假设div既有内联又有导入并且二者对某一样式同时定义了呢?css规范指出:内联 > style > 外部导入。此外还需注意,带有!important标识的样式优先级最高并且无视上述所有标准。因此在实际开发中因尽量避免通过important来指定最高优先级而是通过计算进而提升某一样式的优先级。

相关文章

  • 前端复习第二周

    主要复习CSS,style来引入css,link来外联css文件 优先级标签内css优先级 > hand内部css...

  • CSS基础

    CSS :层叠样式表(Cascading Style Sheets)。 CSS 书写位置及优先级(优先级按顺序排列...

  • 【CSS优先级与!important】

    CSS样式优先级: 1、相同权值情况下,CSS样式的优先级总结来说,就是——就近原则(离被设置元素越近优先级别越高...

  • 定位css 和xpath

    推荐的定位方式的优先级 优先级最高:ID 优先级其次:name 优先级再次:CSS selector 优先级再次:...

  • css的优先级到底是怎么计算的呢?

    浏览器计算css优先级一共有三个阶段 优先级计算的顺序⬇️ CSS规则的重要性和来源 CSS规则的特殊性 CSS规...

  • CSS选择器优先级

    参考文章:优先级- CSS | MDN

  • css选择器优先级以及photoshop快捷键

    css选择器优先级 CSS选择器的优先级:作用的元素一样,样式一样,就会有优先级问题,当优先级相同时,一旦发生重...

  • css-note

    css学习内容 css基础语法 css使用方法 css选择器 css继承与层叠 css优先级 css命名规范 学习...

  • 9. 定位流

    1.css书写方式 书写优先级(同等优先级): !important > 行内 > 外链 = 内嵌 选择器优先级:...

  • CSS常见问题

    CSS优先级算法如何计算? 样式优先级规则: 优先级顺序为:!important>style>权重值权重规则:第一...

网友评论

      本文标题:css优先级

      本文链接:https://www.haomeiwen.com/subject/kvjjuttx.html