Идеальной целью является разделение стиля и контента: это не всегда возможно на 100%, но это может быть сделано достаточно хорошо с помощью семантической разметки. Blueprint и другие CSS-фреймворки полностью терпят неудачу в этом.
Первоначальная идея Compass заключалась в том, чтобы не загрязнять HTML визуальной разметкой, создаваемой Blueprint: если вы пишете class="column-4"
в своей разметке, то вы могли бы вместо этого поставить style="width:160px"
там. С семантической точки зрения это то же самое значение и то же количество повторений, чтобы сохранить.
Compass превращает класс Blueprint, такой как .column-4
, в миксин, который можно применить к значимому селектору:
#sidebar
+column(4)
Таким образом, вам нужно только сохранить его в таблице стилей, а не в нескольких шаблонах и файлах HTML.
Компас осведомлен о проекте. Он будет обрабатывать компиляцию всего дерева таблиц стилей, даже автоматически при сохранении при запуске compass watch
.
Есть несколько очень полезных функций, предоставляемых компасом, например:
image_url - это настраиваемая функция, которая может обрабатывать относительные или абсолютные пути или даже настраивать вращающиеся хосты ресурсов, если вам нужно.
Модуль CSS3 заботится обо всех специфичных для браузера правилах стиля для закругленных углов, теней и т. Д.
Общие утилиты предоставляют помощников для всего, что вы делаете все время, но с меньшим количеством повторений (особенно для кросс-браузерных проблем). Вот некоторые основные, которые я часто использую:
- + clearfix и + pie-clearfix (методы очистки в разных браузерах)
- + float гарантирует, что вы не забудете отображение: встроенный перед ним для IE ... (если приходит время отбросить старые IE, это одно единственное изменение.)
- + replace-text скрывает текст и размещает фон замены изображения.
- + hover-link добавляет правило подчеркивания: hover к базовому стилю ссылки
Вы можете проверить их на новом сайте документации для Compass .
Затем Compass предоставляет средства для ряда других стилевых платформ в дополнение к встроенному Blueprint. Посмотрите, например, Susy , который является фреймворком Sass-native, а не просто портом CSS. Специализируется на гибких и жидких сетках.