某些选择器的CSS选择器样式排除

时间:2013-01-06 20:04:01

标签: html css css-selectors

我有

<table id="exclude1"><tr><td id="exclude2" height="100%" width="100%">

    <div>123</div><table>......</table> etc

</td></tr></table>

和CSS样式

<style>
#exclude1, #exclude2 {border:0; background:transparent; width:100%; height:100%; margin:auto; padding:0; float:none; position:relative;}
* {border:1px solid red; background:red; width:100px; etc.....}
</style>

问题是,当我设置'display:block'或'display:inline'为'*'选择器是css时,这种风格也适用于排除的选择器。 当我为'exclude'选择器设置'display:block'或'table'或'table-cell'或其他内容时,这两个元素会变得不同(对齐,大小等都会被破坏)。

我可以做些什么,使#exclude1和#exclude2不受'*'选择器样式的影响?


UPD:

我已将#exclude1,#exclude2分隔为:

#exclude1 {border:0; background:transparent; width:100%; height:100%; margin:auto; padding:0; float:none; position:relative; display:table;}
#exclude2 {border:0; background:transparent; width:100%; height:100%; margin:auto; padding:0; float:none; position:relative; display:table-cell; vertical-align:middle;}

并且似乎至少现在一切正常。 感谢名单。

1 个答案:

答案 0 :(得分:1)

在#Exclude1之前加*,#Exclude2。 这就是CSS的工作原理,它们是层叠样式表。

并且,如果所有其他方法都失败了,请在您的财产之后抛出一个!important:

  • border:none!important;