重置一个元素及其子元素的所有CSS

时间:2017-04-26 08:52:06

标签: html css css3

我的问题:

我们为我们的客户提供完全自定义的网站(因此他们可以让应用程序看起来像其他网站)。它们为我们提供了一个HTML“环绕”页面,我们的主要应用程序被呈现在其中(没有iFrame,我们的应用程序的HTML本质上是string.replaced()服务器端)。它们可以包含任何JS和CSS链接来设置这个“环绕”页面的样式。

问题是,他们经常包含他们的主要CSS文件,用于完整的网站(完全不必要,但最简单的方法,使部分看起来正确),其中包括许多通用规则。然后我们的应用程序显然遵守这些规则,它打破了我们的许多默认样式。具体的例子是,它们有一个'h3'规则,用于设置text-transform和font-family

h3 {
  text-transform: uppercase;
  font-family: 'Fjalla One',sans-serif;
}

在我们自己的CSS中,我们设置了一个应用于h3标签的类的font-family,而不是text-transform属性。因此,我们的CSS更改了font-family,但我们继承了text-transform。

有什么办法可以告诉浏览器“重新开始”应用来自给定元素的CSS?我知道它非常级联,但我需要用户CSS停止级联我们的应用程序第一个元素,然后将我们的CSS应用于该元素及其子元素。我希望我已经清楚地解释了自己。

1 个答案:

答案 0 :(得分:1)

选项1:

为他们提供类似remove-all-styles

的课程
  .remove-all-styles {
        all: revert;
      }

然后在上面的css代码下面编写你的css代码,并确保你的css优先于他们的css文件。 的 What is the order of loading the CSS files in a HTML page?

选项:2个
为css中的所有元素提供初始值或自动值,然后在 https://www.w3schools.com/cssref/css_default_values.asp

下面编写css代码

选项:1具有较少的跨平台兼容性但更容易编写:)

选项:2将在您的服务器中使用更多空间可能是几kb

选择是你的。