【问题标题】:How to avoid universal Rule CSS Asterisk(*)?如何避免通用规则 CSS 星号(*)?
【发布时间】:2010-11-23 09:49:21
【问题描述】:

我有一个表格 <table></table> 和一个 CSS 规则 *{margin:0;padding:0;}

现在我想取消“margin:0”(通用规则)对上述表格的影响。我怎样才能做到这一点?

【问题讨论】:

    标签: css


    【解决方案1】:
    table#some_id {margin:10px;}
    

    顺便说一句。你永远不应该使用* {margin:0;padding:0;}。不如试试CSS reset

    【讨论】:

    • 我用 firebug 的检查元素检查了可用代码,并在 firbug 中禁用了“margin:0”,这导致了我想要的结果。可能是什么原因以及如何实现?
    • 每个选择器都有自己的“重要性”。因此,如果您在该表上定义一个 ID 并为其定义 CSS,它将覆盖默认规则。
    • @OM The Eternity: 那么你可能想试试 table#some_id, table#some_id * { margin: auto; }... 但是,我建议您设置一个特定的边距,因为不同的浏览器可能对默认边距有不同的想法。
    【解决方案2】:

    您无法撤消它..

    您必须重新定义/覆盖它。

    给你的桌子上课

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

    在 css 中使用(示例值

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

        我认为不可能:声明 * { margin: 0; padding: 0; } 会删除默认值,并且您无法“恢复”它们,除非您有一些已知的默认值(您不知道浏览器默认具有哪些值) .

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-09-18
          • 1970-01-01
          • 2019-10-07
          • 1970-01-01
          • 1970-01-01
          • 2019-10-24
          • 1970-01-01
          相关资源
          最近更新 更多