HTML. Как правильно оформлять class=“ ” id=“ ” [закрыто]

437
24 ноября 2016, 10:19

Читал, что class и id правильно писать так: color-picker selected-color, неправильно вот так color_picker selected_color.

Но когда пишу на js довольно удобно пользоваться записями без тире

color_picker.style.display = ""

Недавно увидел что пишут еще таким способом:

class="colorPicker" id="selectedColor"

На сколько это правильно? И вообще что нужно использовать?

Очень благодарен понятные за ответы, особенно с объяснениями.

Answer 1

Как именовать обычно зависит от предпочтений программиста или от того как принято в команде, но главное чтобы в проекте все было одинаково, а не так что в каждом месте по разному.

Посмотрите методологию именования в БЭМ https://ru.bem.info/methodology/naming-convention/

В целом про стиль программирования на js https://github.com/airbnb/javascript

Answer 2

Советую почитать вам о БЭМ структуре, которую в последнее время многие используют.

Answer 3

Правильно - это так, как разрешает спецификация. Спецификация никак не регламентирует как должны составляться имена классов и идентификаторов, устанавливая только допустимые символы.

Таким образом - правильны все варианты.

Какой именно подход использовать и для чего, каждый определяет сам.
Выбор может так же обуславливаться правилами принятыми в конкретной группе.

Answer 4

Ест такое понятие, как конвенции, нарушение которых считается дурным тоном. Поэтому лучше писать так, как принято, то есть через дефис some-class.

Если говорить об id, то из-за того что он обязан быть уникальным на все область видимости, его следует использовать только тогда, когда это действительно необходимо. Как например связь label и input, как связь компонентов в фраймворках подобных bootstrap3.

И раз зашел разговор о именовании, то нельзя не упомянуть о такой методологии названия css классов, как БЭМ.

В большинстве случаев, эта методология может заведомо избавить от множества проблем и даже способствовать лучшему пониманию написания компонентов.

READ ALSO
Почему при равном padding отличается поведение этих двух input?

Почему при равном padding отличается поведение этих двух input?

В этом коде в div test-name при добавлении padding-left: 4% input-ы перестают быть выровненными. При удалении этого padding-а они выравниваются.

483
Как сделать такой эффект фона? [закрыто]

Как сделать такой эффект фона? [закрыто]

Как сделать такой же эффект, как на сайте ниже, при котором фон остаётся на месте, а сайт "листается" дальше?.

502