2010-01-05 126 views
0

我创建一个导航条和它的使用作了一个无序列表。我想重写我的风格,因此看起来不同。我试着改变它的类,但是实际的样式覆盖了它。由于覆盖CSS布局

回答

1

在样式声明,使用!important,像这样:

.myFirstOne { 
    color: blue !important; /* for example */ 
} 

确保你把!important最后。有没有一种方法可以将属性从style属性中分解出来并放入一个类中?这将是这样做的一个更清洁,不那么单调乏味的方式,如!important必须来自每一个声明之后。

对CSS层叠规则的详细信息,请参阅this link

+0

感谢那些做了 – jmasterx 2010-01-05 01:40:28

+0

+1也许不是解决问题的最佳解决方案,但有时最简单的解决方案可能是最好的。 – bendewey 2010-01-05 01:42:35

+0

这不是执行此操作的最佳方法。 !重要的是被某些浏览器忽略,并且IE6有一个错误,其中!重要属性的顺序不会被保留,所以如果你声明和!重要样式,并在稍后尝试重新声明它,那么它将无法工作。 – 2010-01-05 01:42:55

1

CSS是顺序敏感。

如果你定义的第一个元素的样式,然后定义所有元素的样式,然后所有元素的样式将优先,即使是第一要素。或者,如果您先定义所有元素的样式,然后定义第一个元素的样式,那么当浏览器开始计算时,第一个元素的样式将优先于所有元素的样式了解如何渲染第一个元素。

+0

不总是 - 考虑'.className {color:blue; },元素{color:red; }','这仍然是蓝色!'! – 2010-01-05 01:59:58

+0

还,使用'!important'抛出这些关闭,并可能导致完全无视其他属性(如我已经提到) – 2010-01-05 02:02:06

1

我不perfer使用!important我宁愿把一类的第一个元素和风格它这样:

<!-- html --> 
<ul> 
    <li class="first">first item</li> 
    <li>second item</li> 
    <li>third item</li> 
</ul> 


/* css */ 
ul li { 
    color: blue; 
} 

ul li.first { 
    color: red; 
}