【问题标题】:Is it possible to "remove" styling from HTML elements?是否可以从 HTML 元素中“删除”样式?
【发布时间】:2010-10-02 09:23:33
【问题描述】:

我想知道是否可以使用 Javascript 或其他方式将元素的样式恢复为“默认”状态。

我需要这样做,因为我将 HTML 插入到第 3 方网页中,并且无法控制它们赋予不同元素的样式。例如,他们可能有:

div {
  margin: 10px;
  padding: 5px;
  line-height: 10px;
  font-size: 150%;
  border: 10px solid yellow;
  foo: bar;
}

有没有一种简单的方法可以清除所有样式并将其设置回“默认”设置?是否还有默认样式列表?

谢谢

【问题讨论】:

    标签: javascript html css styles


    【解决方案1】:

    似乎有人已经在 SO 上问过这个问题。

    CSS Reset, default styles for common elements

    【讨论】:

    • 答案:很痛苦。看起来我必须通过 JS 手动为每组元素声明样式
    【解决方案2】:

    默认样式由每个浏览器定义,您可以猜到,所有浏览器的样式都略有不同。您可以定义每个样式属性并将其分配给继承!重要:

    div {
      margin: inherit !important;
      padding: inherit !important;
      line-height: inherit !important;
      font-size: inherit !important;
      border: inherit !important;
      foo: inherit !important;
    }
    

    我并不完全肯定这会奏效,所以我会环顾四周并尝试一下。

    【讨论】:

      【解决方案3】:

      如果您可以上传自己的 CSS(或内部样式表),则可以设置元素的 id,这些样式将优先于通用 div{} 样式。

      【讨论】:

        【解决方案4】:

        您始终可以使用所有默认样式规则定义一个 reset 或类似的类,然后使用 JS 将该样式应用于要重置的元素。例如

        .reset {
          margin: 0 !important;
          color: #000 !important;
          ... etc ...
        }
        

        然后是一些 jQuery,例如:

        $('div').addClass('reset');
        

        也许会工作......

        【讨论】:

          猜你喜欢
          • 2017-11-19
          • 1970-01-01
          • 1970-01-01
          • 2015-04-25
          • 1970-01-01
          • 2020-07-28
          • 2010-11-05
          • 1970-01-01
          • 2013-10-14
          相关资源
          最近更新 更多