1

我在我的 MVC 视图中覆盖了一些 jQuery UI CSS 类。

我想将所有样式元素移动到外部样式文件。但我不希望覆盖的 CSS 类应用于所有视图。

有没有办法为特定视图指定 CSS 类,或者有什么推荐的方法来解决这个问题?

如果可能的话,我宁愿只保留一个 css 文件。

4

2 回答 2

1

您可以在要覆盖其中的样式的视图主体中添加一个 id。

HTML:

<body id="specialview">
  ...
</body>

CSS:

#specialview .class_override { ... }
于 2012-08-21T14:32:00.480 回答
1

假设当您说“类”时,您的意思是“规则集”:

由于您添加了坚持使用一个 CSS 文件的要求(并且我假设您不需要内联<style>元素):

在每个选择器前面加上一个id 选择器和一个后代组合器:#someid

然后将 id 添加到视图的 body 元素中:<body id="someid">

因此:

.foo { text-decoration: overline; }

变成

#myFirstView .foo { text-decoration: overline; }

警告:这将增加每个选择器的特异性(在特定于您的视图的规则集组中)。这可能会改变这些规则和通用“应用于每一页”规则的应用顺序。您可以通过为所有共享规则添加前缀#generic并添加<html id="generic" lang="en">.

于 2012-08-21T14:32:22.573 回答