我的问题:
我们为我们的客户提供完全自定义的网站(因此他们可以让应用程序看起来像其他网站)。它们为我们提供了一个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应用于该元素及其子元素。我希望我已经清楚地解释了自己。
答案 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
选项:1具有较少的跨平台兼容性但更容易编写:)
选项:2将在您的服务器中使用更多空间可能是几kb 。
选择是你的。