如何!important
读取CSS属性属性?
难道really important
,exclamation mark important
......?
答:从下面的答案中,它似乎只是简单地阅读important
,或bang important
.
Jas*_*aro 56
"!important"声明(分隔符"!"和关键字"important"遵循声明)优先于正常声明.
http://www.w3.org/TR/CSS2/cascade.html#important-rules
基本上,两个样式规则是相同的......它给出了一个!important
更重要的一个,并将应用这些样式.
例
div{
opacity:0 !important;
}
div.jason{
opacity:1;
}
Run Code Online (Sandbox Code Playgroud)
即使第二个规则更具体(一个元素+一个类而不是一个元素),也会应用第一个规则
注意:!important
当你有两个相同的属性并且其中一个很重要时, IE6会忽略它 - 它将始终应用最后一个声明,无论它是否标记为重要. **来自@BoltClock的评论如下.
警告: !important
锤子只能在绝对必要时使用.几乎总是,最好使用更具体的选择器来实现更高的特异性,并以您想要的方式应用您的样式. !important
可能会使未来的开发人员很难找到并更改您的代码.
一个很好的用例: !important
非常适合用户定义的样式,用户希望在浏览器中以特定方式操作网站页面(例如,将所有背景设置为黑色,将文本设置为黄色).无需担心特异性,用户可以向某些元素添加样式(例如body
)并使样式呈现.
body { color: red !important; }
用英语表示"红色的文字颜色很重要".
就CSS如何看待它而言,它对该声明应用了更多的"权重",因此它(更多)将更可能成为应用的样式.
举个例子,我们可以使用
p { color: red; }
p.blue { color: blue; }
Run Code Online (Sandbox Code Playgroud)
现在,任何p
一类blue
将显示蓝色文本,所有其他将显示红色文本.如果我们把它改成这个......
p { color: red !important; }
p.blue { color: blue; }
Run Code Online (Sandbox Code Playgroud)
他们都会显示红色文本(即使他们有一个类blue
),因为我们给第一个选择器更重要.