2010-02-17 3 views
8

Я относительно новичок в CSS и задаюсь вопросом, можно ли его «обернуть» ID, чтобы вам не приходилось повторять их снова и снова?Обертывание идентификаторов в классах CSS?

т.е.

#home 
{ 
some stuff 
} 

#home .header { 
some stuff 
} 

#home .sub_header { 
some stuff 
} 

Можно ли «обернуть» в .header и .sub_header, так что я не должен повторять #home все время? то есть что-то вроде этого, чтобы идентификатор мог коллективно обернуть классы?

#home 
{ 
some stuff 
} 

@#home [ 

.header { 
some stuff 
} 

.sub_header { 
some stuff 
} 
] 
+1

Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь. –

+0

:) thx, я на самом деле не все, что новичок в CSS, но подумал, что это может быть * глупый * первый вопрос: P – Frederick

+0

Это * должно быть возможно, но, к сожалению, это не так. Иерархический CSS был бы сладок. – Robusto

ответ

3

Отличный вопрос! Я боюсь, это невозможно с использованием родного CSS. Нет никаких реальных сокращений.

Если вы работаете с большим количеством CSS, есть предварительные компиляторы, которые позволяют вам использовать расширенную нотацию и преобразовывать ее в CSS на лету.

Там же, например

  • xCSS это может nest child elements.

  • Тогда есть LESS, это написано на Ruby, поэтому вам необходимо установить (насколько я понимаю, я еще не использовал его сам), но он отлично подходит для редактирования CSS в любой среде. Проверьте раздел «вложенные правила» на главной странице.

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

+0

.less (dot-less) - другой, dotlesscss.com. Я считаю, что это порт библиотеки Ruby LESS. Работает очень хорошо. – tijmenvdk

+0

@tijmendvk хороший намек, приветствия! –

+0

эй отличный :) им использовать asp.net mvc так плохо проверить! – Frederick

0

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

0

Другой большой рамки CSS является CSS Scaffold

CSS Эшафот работает на PHP, проста в использовании

  • позволяет глубокий селектор гнездящихся
  • константы
  • пользовательский Примесей (многоразовые куски CSS коды)
  • реализует рамочное создание сетки
  • кэширование из уже разобранных файлов CSS для производства (+ преуменьшать)

Если вы не кодирование большого сайт, я бы рекомендовал обычный CSS

Смежные вопросы