一般直接问important的样式不被覆盖,这样是误解的,因为解决办法也需要使用important 解决办法一: div div 这样下面的样式就覆盖了上面的样式,使第一个样式失效 解决办法二:123456 行内样式级别大于,外部样式,所以这样也可以去除以前设置的important的样式。 其他的方式,我还真没有找到能可以代替的办法,希望我的回答对你有所帮助!!!
1、这个属性可以让浏览器优选执行这个语句,加上!importanrt可以覆盖父级的样式。具体的效果可以用一个案例演示,首先新建一个html文件,先新建一个外围div,在在里面设置两个子div,给父div设置class属性parent,第二个子div增加import的class属性:2、然后在上方的style中设置样式,给div设置宽度和高度,并给它背景颜色;给import类设置背景色,并加入!important 属性就会覆盖父容器的背景颜色:3、最后来到浏览器中,就可以看到第二个div的背景颜色被覆盖了:简单来说,每个浏览器对某些css的样式解释的不太一样,这样页面上显示的就不一样,但是要保持每个浏览器都同样显示效果的话,那么只有对有差异的浏览器写它自己认识而别的浏览器不认识的样式来达到显示相同的目的,这个在css中叫hack。所以我们就需要知道某个浏览器认识某些写法了。当遇到问题的时候就可以使用这些hack来解决问题了,不过对于你说的这个hack我倒是没用过,只要代码写的好,基本上除了ie6都是可以通过的CSS中“!important”可以使它之前的样式优先执行,比如说这样:body color : red !important;}body color : black;}颜色color出现了两次,而加上“!important”的“color : red;”总会得到优先执行,浏览器将对另一个“color : black;”视而不见。之所以会说得复杂,是因为“IE 6.0一直都不支持这个语法,而其他的浏览器都支持。因此可以利用这一点来分别给IE和其他浏览器不同的样式定义”,我认为这只不过是一个小技巧罢了。CSS中的!important一般都是用于对低版本的除了iE 6 ,用来做hack的,后面缀上了!important的css语句,让浏览器选执行这个语句,因为css有继承的样式,加上!importanrt可以覆盖父级的样式。 IE6不认识它的,IE7和别的浏览器中可以用,用来处理浏览器的兼容性,这里写段代码:黄色背景假如我要对一个div在ie7中宽为200px,在ie6中宽180px,则:div div !important:表示某条属性(声明)具体最高的优化级,所以虽然看起来下面的把上方的属性覆盖了,但真正由于上面度200的优化级最高,所以最后div的宽还是200px!important:ie7及以上、firefox都支持,但ie6不支持,所以下面的属性会把上面的覆盖,即在ie6宽显示为180px设置此项主要的目的就是为了达到在各种及各版本的浏览器之间兼容,这里如果考虑周全的话还需对ie7及ff进行区别了