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

Использование прописных букв, тире или подчеркивания при назначении css-селекторов

Каковы наилучшие методы при указании селекторов CSS?

SomeContainerContent
some_container_content
some-container-content

Я читал другие подобные вопросы здесь о переполнении стека, но в ответах нет общего согласия. Мне было интересно, добавить ли кого-нибудь еще.

4b9b3361

Ответ 1

Общая мысль - использовать дефисы. На самом деле существуют потенциальные проблемы совместимости с другими вариантами.

  • Подчеркивания не допускаются в именах классов или идентификаторах в определенных (предоставленных, старых, NS4-типах) браузерах.
  • Спецификация CSS не указывает, как браузер должен обрабатывать регистр, поэтому использование camelCase оставляет одно открытым для двусмысленной интерпретации.

Кроме того, CSS использует дефисы внутри для таких вещей, как first-child.

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

Ответ 2

.hyphens-for-multi-word-names
.underscores_for_pseudo_namespacing

Результаты в:

.grid-system_push-100
 \_________/ \______/
  namespace   object

Пространство имен и объект могут быть легко использованы для своего рода BEM.

.grid-slot { }          /* block */

.grid-slot_size-100 { } /* block-specific modifier */

._size-100              /* generic modifier */

Мои $0,02

Ответ 3

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

Ответ 4

Это действительно не имеет значения и сводится к вашему личному вкусу. Однако для проекта это должно быть последовательным! Итак, если уже присутствует css, перейдите к стилю, установленному этим стилем.

Ответ 5

Я использую тире (-) для всего HTML/CSS и подчеркивания для переменных PHP. Делает для меня все.

Ответ 6

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

Кажется, большинство людей CamelCase:

опрос о том, что люди используют

Ответ 7

"В CSS идентификаторы (включая имена элементов, классы и идентификаторы в селекторах) могут содержать только символы [a-zA-Z0-9] и символы ISO 10646 U + 00A1 и выше, плюс дефис (-) и подчеркивание (_), они не могут начинаться с цифры или дефиса, за которым следует цифра. Идентификаторы также могут содержать экранированные символы и любой символ ISO 10646 в виде числового кода (см. следующий элемент). Например, идентификатор" B &amp, W? "Может быть записана как" B\& W \? "Или" B\26 W\3F "."