Sass: Работа с селекторами IE 4095 в соответствии с ограничением таблицы стилей

Примечание: этот вопрос относится к проекту Rails с Sass и Compass. Используете Rails Asset Pipeline? Затем посмотрите на этот вопрос .

Мы разрабатываем большое приложение с множеством вариантов использования и множеством страниц с индивидуальным оформлением, частично для различных контекстов. Это просто означает много информации о стиле.

В новейшем разделе нашего приложения мы нарушили ограничение Internet Explorer в 4095 селекторов на таблицу стилей. (Хотите доказательства этого ограничения? http://marc.baffl.co.uk/browser_bugs/css-selector-limit/ )

Хорошо. Итак, почему мы просто не разбиваем таблицу стилей приложения на несколько по дизайну?

Что ж, миксины и наследование селекторов не будут работать с несколькими файлами Sass (не частичными), верно?

Я бы сказал, качество таблиц стилей достаточно хорош, мы не можем оптимизировать чрезмерное количество селекторов. (Это еще не все.) Я также считаю, что минимизация количества селекторов не должна быть нашей основной целью оптимизации. Команда разработчиков ядра Sass советует использовать наследование селекторов вместо миксинов, где это возможно, чтобы сохранить размер файла CSS. Тем не менее, при этом количество селекторов имеет тенденцию к росту.

Итак, что мне делать?

Я думаю о написании сценария, который генерирует дополнительные файлы css и разбивает мой большой файл application.css. Тогда они будут загружены только в IE (так что у меня не будет нескольких запросов в современных браузерах). Для этого мне понадобится простой парсер css, чтобы вырезать файл application.css после макс. 4095 селекторов в допустимой позиции. И мне понадобится компиляция компаса - после ловушки, чтобы разработчикам не приходилось создавать файлы IE вручную, чтобы проверить это.

Пожалуйста, скажите мне, что у вас есть идея получше!

С уважением, Christian

7
задан Community 23 May 2017 в 10:30
поделиться