我在我的 MVC 视图中覆盖了一些 jQuery UI CSS 类。
我想将所有样式元素移动到外部样式文件。但我不希望覆盖的 CSS 类应用于所有视图。
有没有办法为特定视图指定 CSS 类,或者有什么推荐的方法来解决这个问题?
如果可能的话,我宁愿只保留一个 css 文件。
我在我的 MVC 视图中覆盖了一些 jQuery UI CSS 类。
我想将所有样式元素移动到外部样式文件。但我不希望覆盖的 CSS 类应用于所有视图。
有没有办法为特定视图指定 CSS 类,或者有什么推荐的方法来解决这个问题?
如果可能的话,我宁愿只保留一个 css 文件。
您可以在要覆盖其中的样式的视图主体中添加一个 id。
HTML:
<body id="specialview">
...
</body>
CSS:
#specialview .class_override { ... }
假设当您说“类”时,您的意思是“规则集”:
由于您添加了坚持使用一个 CSS 文件的要求(并且我假设您不需要内联<style>
元素):
在每个选择器前面加上一个id 选择器和一个后代组合器:#someid
然后将 id 添加到视图的 body 元素中:<body id="someid">
因此:
.foo { text-decoration: overline; }
变成
#myFirstView .foo { text-decoration: overline; }
警告:这将增加每个选择器的特异性(在特定于您的视图的规则集组中)。这可能会改变这些规则和通用“应用于每一页”规则的应用顺序。您可以通过为所有共享规则添加前缀#generic
并添加<html id="generic" lang="en">
.