Ответ 1
Мне нравится использовать темы, но, как указал Радж в своем ответе, переписывание URL-адресов может вызвать проблемы. Я искал некоторые решения для этого, что привело меня к вашему вопросу. Но я все равно добавлю свои мнения.
Я рассмотрю некоторые из ваших пуль сверху, чтобы понять, почему темы хороши:
- Тема поднимает каждый файл CSS в папке
Я предполагаю, что вы хотите применять только определенные файлы таблиц стилей к определенным страницам. Да, темы принимают подход дробовика здесь, так что проблема. Но вам не нужно класть все таблицы стилей в папку темы. Поместите своих специализированных за пределами него, и они не будут включены автоматически. Но я думаю, что это хорошая функция, чтобы иметь общие/широкие сайты, включенные автоматически.
- Если вы хотите использовать стили reset (где важно упорядочение), порядок импортированных таблиц стилей не гарантируется
Я думаю, вы можете гарантировать заказ, как вы называете файлы, поэтому они численно и в алфавитном порядке. Возможно, это не элегантное решение, но не ужасное.
Лично у меня есть шаг сборки, который объединяет и сжимает все *.css файлы в моей папке тем в один файл style.css, и поскольку я контролирую этот шаг сборки и порядок объединения файлов, это не влияет на меня.
- Ваша главная страница не будет явно указывать, какой стиль используется, только отображаемая страница может сказать вам, что, если вы не вникнете в свой web.config
Вы можете изменить тему с помощью кода и в директиве <% @page
- Стилирование веб-элементов управления с использованием файла темы... ну... глупо? Вы можете просто сделать это в своей таблице стилей. Гранулированное управление должно быть на уровне HTML, если это не так?
Я согласен с тем, что применение атрибутов стиля к элементам управления через тему не является лучшей практикой. Но мне нравится то, что я могу определять скины изображений в файлах темы темы и не нужно вырезать и вставлять Width, Height, AlternativeText, выравнивать атрибуты для обычных изображений, которые я использую во многих местах по всему сайту. И если я когда-либо изменю одно из этих изображений, я могу исправить атрибуты в одном месте, а не повсюду. Я также могу создавать скин-элементы с определенным списком классов CSS, которые мне кажутся удобными.
- Как вы определяете таблицы стилей печати, не имея всех стилей в одной таблице стилей?
У меня есть файл Print.css, который начинается с печати @media и определяет стили печати для моего сайта. Зачем вам помещать их в одну таблицу стилей?