2011-01-29 35 views
2

我有这样的CSS:CSS工作直列但不是在样式表

 
width: 98px; height: 298px; border: 1px solid; margin: 30px 25px 0px 25px; 

这工作在style=""内嵌样式很好,但是当我在样式表中使用的元素完全消失!这是一些疯狂的行为在这里...

有谁知道这个问题的解决方法/解决方法?

UPDATE

如果我从样式表完全删除#advert代码,把CSS内联,但离开id="advert"它是在DIV,它仍然没有露面。但是,如果我删除id="advert位,那么div显示罚款...奇怪。

+2

听起来像[特异性](http://css-tricks.com/specifics-on-css-specificity/)问题,你能提供更多的细节吗? – thirtydot 2011-01-29 21:14:26

+0

你能分享你的代码通过jsfiddle.net – Eray 2011-01-29 21:15:01

+0

是否有另一个样式表加载?也许是外部的? – Harmen 2011-01-29 21:17:19

回答

6

它很可能是你的样式表中有一个级联,它以某种方式“隐藏”了元素,而你的内联样式重写了这个元素,所以元素是可见的。但是,将规则移入样式表时,它们不再覆盖,因为您使用的选择器的优先级低于“隐藏”该元素的优先级。

您可以使用类似FireBug的工具或Firefox的Web Developer工具栏来检查和查看所有影响某些内容的CSS。我敢打赌,你会看到额外的东西,你不指望!

5

自从我问这个问题已经很长时间了,但我似乎记得这是由于我使用Adblock Plus引起的 - 它阻止了<div>,因为它的ID为advert - 这是一个非常简单的疏忽。

从那以后,我一直在开发ABP,并且您应该检查您可能使用的任何插件是否以您不想要的方式阻止/修改您的HTML。