Использование прописных букв, тире или подчеркивания при назначении css-селекторов
Каковы наилучшие методы при указании селекторов CSS?
SomeContainerContent
some_container_content
some-container-content
Я читал другие подобные вопросы здесь о переполнении стека, но в ответах нет общего согласия. Мне было интересно, добавить ли кого-нибудь еще.
Ответы
Ответ 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 &, W? "Может быть записана как" B\& W \? "Или" B\26 W\3F "."