2012-08-21 4 views
1

Я переписываю некоторые классы CSS jQuery UI в своих MVC-представлениях.Можно ли указать классы CSS для определенных представлений MVC?

Я хочу переместить все элементы стиля во внешний файл стиля. Но я не хочу, чтобы переопределенные классы CSS применялись ко всем представлениям.

Есть ли способ указать классы CSS для определенного вида или любой рекомендуемый способ приблизиться к этому?

Я предпочел бы сохранить только один файл css, если это возможно.

+0

Только так, как вы можете это сделать, с несколькими файлами '.css', насколько я знаю. Если есть какой-то действительно умный способ, о котором я не знаю. –

ответ

1

Если предположить, что, когда вы говорите «классы» вы имеете в виду «наборы правил»:

Поскольку вы добавили требование придерживаться одного файла CSS (и я предполагаю, что вы не хотите встроенный <style> элемент):

Prefix каждый селектор с id selector и descendent combinator: #someid

Затем добавить идентификатор к элементу тела зрения: <body id="someid">

Таким образом:

.foo { text-decoration: overline; } 

становится

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

Предупреждение: Это увеличит specificity каждого селектора (в группе наборов правил, характерных для вашего вида). Это может изменить порядок, в котором применяются эти правила и общие правила «применять к каждой странице». Вы можете избежать этого, предварительно установив все общие правила с помощью #generic и добавив <html id="generic" lang="en">.

1

Вы можете добавить идентификатор к телу зрения вы хотите, чтобы переопределить стили в

HTML:.

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

CSS:

#specialview .class_override { ... } 
Смежные вопросы