Haml - это хорошо, и я часто его использую, но Sass стоит того в одиночку, особенно если вам приходится создавать сложные таблицы стилей. Например, одна из худших вещей в CSS - это то, сколько избыточности вам приходится делать при именовании селекторов. В CSS вы должны сделать
#navbar ul
#navbar ul li a
#navbar ul li a:hover
С Sass вы можете просто вкладывать этих потомков естественным образом.
#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. </p>