0

我有

<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 时,这种样式也适用于排除选择器。当我为“排除”选择器设置“显示:块”或“表格”或“表格单元”或其他任何内容时,这两个元素变得不同(对齐、大小等被破坏)。

我该怎么做才能使#exclude1 和#exclude2 不受“*”选择器样式的影响?


升级版:

我已将#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;}

似乎至少现在一切正常。谢谢。

4

1 回答 1

1

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

而且,如果所有其他方法都失败了,请在您的属性之后抛出一个 !important,如下所示:

  • 边框:无!重要;
于 2013-01-06T20:27:16.733 回答