Ответ 1
Хэмл хорош, и я использую его много, но Сасс стоит того, что нужно, особенно если вам нужно создавать сложные таблицы стилей. Например, одна из худших вещей о CSS - это то, сколько избыточности вы должны делать, когда выбираете имена. В CSS вам нужно сделать
#navbar ul
#navbar ul li a
#navbar ul li a:hover
С Сасс, вы можете просто вложить эти декандаторы естественно.
#navbar
ul
margin: 0
padding: 0
list-style: none
width: 100%
li
margin: 0
float: left
margin-right: 10px
border: 1px solid #000
a
text-decoration: none
&:hover
color: red
Вы также можете использовать переменные
!border_color = #333
.box
border = 1px "solid" !border_color
И вы можете использовать математику с ними
!measure = 18px
!text_size = !measure / 1.5
body
font-size = !text_size
line-height = !measure
h1
font-size = !measure
margin-bottom = !measure
h2
font-size = !measure + 2
#wrapper
width = !measure * 50
Вы также можете использовать код
=rounded
-moz-border-radius: 4px
-webkit-border-radius: 4px
border-radius: 4px
border: 1px solid #000
.box
+rounded
В этом так много власти, что вы должны сделать это ради себя, чтобы узнать это. Кроме того, конечным результатом является простой CSS, поэтому его можно преобразовать.
Не забывайте о css2sass, который преобразует существующие css в sass файлы!
Вы можете играть с некоторыми примерами в http://rendera.heroku.com/, если хотите. Это сайт, который я создал, чтобы помочь людям изучать HTML5 и CSS3, и у меня есть поддержка как HAML, так и SASS.
Кроме того, взгляните на StaticMatic (staticmatic.rubyforge.org) для удивительного способа работы с статическими веб-сайтами с HAML и SASS. Он создает веб-сайты, которые вы можете загрузить на статические хосты, и имеет систему макета и шаблонов, похожую на Ruby on Rails.
Чтобы обратиться к прямому вопросу, который вы задали, путем "стоит ли это", ответ "да". Будучи способным использовать переменные, легко группировать вещи по селектору и обмениваться кодами через модули, упрощает составление таблиц стилей. Построение таблиц стилей не займет много времени, и вы можете использовать превосходную инфраструктуру Compass, чтобы идти еще дальше. Например, вы можете использовать модули 960.gs или Blueprint для объединения этих фреймворков в существующие таблицы стилей. Таким образом, вам не нужно менять разметку вашего кода. Добавление 960.gs и его классов "grid_12" и "container_12" ко всей вашей разметке может быть невозможно, но с Compass и Sass это легкий ветерок.
Sass также упрощает создание нескольких таблиц стилей для режима разработки и генерирует единую таблицу стилей для производства, тем самым улучшая производительность на стороне клиента (меньше вызовов на сервер при загрузке страницы).
У HAML есть свои преимущества, хотя они не так заметны, как Sass. HAML делает невероятно легким вложение элементов и объявляет DIVS... используя даже обычные 960.gs, например, легко с HAML:
#header.container_12
.grid_12
%h1 Welcome!
#middle.container_12
.grid_8
%h2 Main content
.grid_4
%h3 Sidebar
Гораздо меньше набрав. И если вы решите, что по какой-то причине вам нужно добавить оболочку вокруг всего этого, просто отпустите все это под новым тегом.
Надеюсь, что это поможет. я < 3 Sass.