Подтвердить что ты не робот

Какова ценность Compass for Rails 3.1?

Я пытаюсь решить, следует ли включать Compass при запуске нового Rails 3.1. Я раньше не использовал Compass.

Rails 3.1 теперь поддерживает SCSS напрямую. Конвейер ресурсов Rails 3.1 (через звездочки) теперь автоматически компилирует таблицы стилей. И я могу использовать SCSS-версию рамки CSS, например Blueprint, непосредственно.

Какие преимущества я получу от использования Compass с Rails 3.1?

4b9b3361

Ответ 1

Bourbon (от Thoughtbot) - легкая альтернатива компасу, которая хорошо интегрируется с рельсами 3.1.

Он имеет основные css3 mixins, которые вы получаете с компасом (фоновые изображения, тень окна, радиус границы, градиенты...). У него также есть помощники для стилей кнопок, "сетки" вашего макета и еще нескольких лакомств.

Вы можете пропустить некоторые из возможностей компаса, которые могут быть легко преодолены с помощью sass: просто скопируйте/создайте свой собственный микс!

Компас часто давал мне головные боли при обновлении моего приложения rails. Я ценю простоту Бурбона (хотя это может также дать вам головные боли... утром:-))

Ответ 2

Compass предоставляет множество хороших миксинов, довольно мощный спринтер-генератор и тесную интеграцию с Blueprint таким образом, что вам не нужно использовать не-семантические классы col по всему HTML.

Не очень полезно использовать Compass, если вы не используете микшины, но опять же нет никакой пользы от использования SCSS, если вы их не используете (вложенность и переменные хороши, но mixins помогают сохранить специфичная для браузера реализация свойств в одном месте).

Однако я нашел Blueprint более сложным, чем того стоит. Я бы по-прежнему использовал Compass для микшинов, но сейчас совместимость между Rails 3.1 и Compass ужасна (вам нужно перепрыгнуть через обручи, и вы по-прежнему жертвуете некоторой функциональностью).

В несколько сопутствующем примечании, способ, которым Rails 3.1 компилирует активы, скорее "сломан". Он не учитывает, как сообщество использовало Sass за последний год или два - сохранить переменные, миксины и частичные части страницы, все отдельно, чтобы быть включенными в главный файл по порядку. "Автоматический" способ загрузки и компиляции Sprockets Sass отключает файлы друг от друга, поэтому, даже если вы определяете порядок загрузки вручную в application.css, переменные, которые вы устанавливаете в файле, недоступны для загруженных впоследствии файлов.

Ответ 3

Компас представляет собой конструктивно-агностическую структуру - например, вам не нужно беспокоиться о том, какие браузеры имеют пользователи.

например. Компас имеет дополнения, такие как, например, кросс-браузерные функции CSS3:  http://compass-style.org/reference/compass/css3/ таким образом вы можете указать вещи в ваших .scss файлах, зависящих от браузера

Побочное Примечание:

Способ Rails 3.1 обрабатывает файлы .scss, один за раз - например. если вы определяете переменные в одном файле, они не переносятся на другие .scss файлы. IMHO не очень оптимальное решение.

Ответ 4

html5boilerplate Компас-плагин - отличная экономия времени, поэтому по этим причинам я бы использовал компас