【问题标题】:Is it possible to specify CSS classes for particular MVC Views?是否可以为特定的 MVC 视图指定 CSS 类?
【发布时间】:2012-08-16 22:20:13
【问题描述】:

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

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

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

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

【问题讨论】:

  • 据我所知,只有使用多个 .css 文件才能做到这一点。除非有一些我不知道的非常聪明的方法。

标签: css asp.net-mvc jquery-ui


【解决方案1】:

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

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

为每个选择器加上 id selectordescendent combinator 前缀:#someid

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

因此:

.foo { text-decoration: overline; }

变成

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

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

【讨论】:

    【解决方案2】:

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

    HTML:

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

    CSS:

    #specialview .class_override { ... }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      相关资源
      最近更新 更多