Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Борьба с излишним каскадированием в CSS

287
21 ноября 2011 года
Shiizoo
958 / / 14.03.2004
Хотелось бы узнать, как кто борется с каскадированием в тех случаях, когда оно не нужно. До тех пор, пока не стал верстать под Joomla, не задумывался особо на этот счет. Но когда твоя разметка должна работать с твоими стилями в условиях, когда подключено еще куча таблиц стилей, контроль и полную информацию по содержанию которых ты не имеешь, начинается свистопляска. Стили с чужих компонент/модулей или стили самого шаблона могут содержать очень "неспецифичные" селекторы и каскадироваться таким образом с моими (тем более, если эти чужие "неспецифичные" селекторы не содержат имен классов и ID).
Уже приходилось бороться с реальным проявлением данной беды, так что проблема не гипотетическая. Так вот, хотелось бы знать, какими средствами вы подавляете/избегаете каскадирование.
Для случая наличия в чужих таблицах стилях одноименных классов можно использовать обязательный уникальный (в разумных пределах) префикс для классов и идентификаторов, но с селекторами без классов и ID такими средствами не поборешься.
Собственно, у меня есть некоторые идеи на этот счет, но не уверен, что это не перегибание палки. Так что поделитесь, пожалуйста, кому есть чем поделиться.

p.s. жаль, что до пространств имен css только к 3 версии доросло =\
49K
21 ноября 2011 года
vorobej
129 / / 17.11.2011
Проблема и правда неприятная...
А ответ: да собственно никак =) В одном своем компоненте (ЖС Динамическая таблица), который можно забрасывать на любой сайт я начинал ЛЮБОЙ тег с класса sdtrst который обнулял все возможные каскадирования. Но это крайний случай, ибо мне надо было заставить мою наисложнейшую таблицу выглядеть одинаково на ЛЮБЫХ сайтах, и без каких-либо ифраймов само собой, а так пользуюсь двумя простыми правилами.

1. Мои стили всегда идут последними
2. Префиксы - форевер. Но поскольку я в основном пишу модульные JavaScript сайты (т.е. на 95% все рендерится жаваскриптом), мне не очень сложно за ними следить

Ну а потом уже допиливание через Хром, с вырезанием всего ненужного.. А он умный, скатина, просто сразу указывает, что и в каких файлах никогда не используется на сайте..
Потом компилирование.. И продукт готов
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог