element.style覆盖样式因优先级顺序导致的解决方法
• 经验
最近向服务器上上传页面,原本服务器有页面的,已经用JS把它们覆盖掉了,不过在上传过页面后又发现有些样式被原来的样式依然覆盖着。审查元素后发现,有的元素的样式里面有如下的样式提示:
复制代码代码如下:
<span>element.style{
top:30px;
}</span>
在我上传的CSS里面没有定义但是上传之后却出现了。在网上百度了一下,出现问题的原因可能是system.css中定义的样式或者是js所致,根本原因在于CSS的优先级顺序导致你所定义的样式被覆盖掉。解决这个问题的方法很简单,就是在你被覆盖掉的样式后面面加上 ‘ ! important;’因为CSS优先级的问题,这个样式会被调用。比如说:
复制代码代码如下:
<span>#logo{
width: 100px !important;
}</span>
!important对于奇葩的IE6以上都可以兼容,所以可以放心使用。