августа 11, 2009

Чего не хватает в CSS?

Мне кажется в спецификациях CSS не хватает одной важной вещи. А именно, как бы это назвать, - метаклассов что-ли.

Смысл №1 (простой)

$meta myColor1 { orange } /* определяем метакласс */
.myClass { color:$myColor1; } /* используем метакласс */


В данном случае мы просто определяем переменную, в которую заносим цвет. И при изменении значения этой переменной цвет будет меняться во всех классах, где эта переменная задействована. Не нужно будет искать и менять цвет по всему файлу CSS.

Смысл №2 (более сложный)

Например, у меня есть N элементов с одинаковыми свойствами: цвет текста, цвет фона и размеры отступов. В таком случае можно было бы описать метакласс примерно в таком виде:

$meta myMeta {
color: orange;
background: white;
padding: 10px;
/* можно добавить что-нибудь еще */
}

И использовать примерно так:

.myClass$myMeta {
/* здесь описываем дополнительные стили к этому классу */
}


В этом случае .myClass наследует все определенные стили в метаклассе, ну и плюс добавляет свои. Получилось некое подобие ООП :).

Понятное дело, что синтаксис разметки придуман "на ходу" и может быть каким угодно, но смысл, я думаю, ясен. Мне кажется, что этим можно значительно упростить задачу верстальщикам. Ведь при более-менее сложном проекте приходится верстать "простыни" CSS кода.

Комментариев нет: