如何避免使用通用规则CSS星号(*)?

4
我有一个表格<table></table>和一个CSS规则*{margin:0;padding:0;} 现在我希望消除上述表格受到“margin:0”(通用规则)的影响。我该如何实现?
4个回答

7
table#some_id {margin:10px;}

顺便说一下,你不应该使用* {margin:0;padding:0;}。而是尝试使用CSS重置


我使用Firebug的检查元素功能检查了可用代码,并在Firebug中禁用了“margin:0”,这导致了我想要的结果。可能的原因是什么,如何实现这一点? - OM The Eternity
每个选择器都有其自身的“重要性”。因此,如果您在表格上定义了一个ID并为其定义了CSS,则它将覆盖默认规则。 - Kemo
@OM The Eternity:那么你可以尝试使用table#some_id,table#some_id * { margin: auto; }... 但是,我建议你设置一个具体的边距,因为不同的浏览器可能对默认边距有不同的想法。 - Daniel Sloof

5

您无法撤销它。

您需要重新定义/覆盖它。

给您的表格添加一个类。

<table class="normal"><tr><td>text</td></tr></table>

并且在CSS中使用(示例值

.normal{margin:5px;padding:5px;}

4

针对页面中的所有表格:table { margin: 4px; }

针对特定CSS类别的表格:table.someClass { margin: 4px; }

针对特定表格实例:table#someId { margin: 4px; }


2
我认为这是不可能的:声明 * { margin: 0; padding: 0; } 会删除默认值,你无法“恢复”它们,除非你知道某些已知的默认值(你不知道浏览器默认使用哪些值)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接