Немає жодної.
Я постійно використовую підкреслення, через дефіси псують виділення синтаксису мого текстового редактора (Gedit), але це особисті переваги.
Я бачив усі ці умовності, що використовуються всюди. Використовуйте той, який ви вважаєте найкращим - той, який виглядає найприємніше / найпростішим для читання, а також найпростіший набір, тому що ви будете користуватися ним багато. Наприклад, якщо у вас є нижня клавіша підкреслення на нижній стороні клавіатури (навряд чи, але цілком можливо), тоді дотримуйтесь дефісів. Просто займіться тим, що найкраще для себе. Крім того, всі 3 ці конвенції легко читаються. Якщо ви працюєте в команді, не забудьте дотримуватися визначеної командою конвенції (якщо така є).
Оновлення 2012 року
Я змінив те, як програмую з часом. Я зараз використовую справу верблюда ( thisIsASelector
) замість дефісів; Я вважаю останнє досить потворним. Використовуйте все, що вам зручніше, що може з часом легко змінюватися.
Оновлення 2013 року
Схоже, мені подобається щорічно перемішувати речі ... Після переходу на піднесений текст та використання Bootstrap деякий час я повернувся до тире. Мені зараз вони виглядають набагато чистіше, ніж un_der_scores або camelCase. Моя оригінальна точка все ще стоїть: не існує стандарту.
Оновлення 2015 року
Цікавий кутовий випадок з умовами тут - Іржа . Мені дуже подобається мова, але компілятор попередить вас, якщо ви визначатимете речі, використовуючи щось інше, крім underscore_case
. Можна вимкнути попередження, але цікаво, що компілятор настійно пропонує конвенцію за замовчуванням. Я думаю, що у великих проектах це призводить до більш чистого коду, що не є поганим.
Оновлення 2016 ( ви просили про це)
Я прийняв стандарт BEM для подальших моїх проектів. Назви класів в кінцевому підсумку є досить багатослівними, але я думаю, що це дає гарну структуру та повторне використання класам та CSS, що йде разом з ними. Я припускаю, що BEM насправді є стандартом (тому моє no
стає, yes
мабуть), але все ж залежить від того, що ви вирішите використовувати в проекті. Найголовніше: бути узгодженим з тим, що ви обираєте.
Оновлення 2019 ( ви просили про це)
Після того, як довгий час не писав CSS, я почав працювати в місці, де OOCSS використовує один із своїх продуктів. Особисто мені здається, що уроки сміття скрізь неприємні, але не потрібно весь час переходити між HTML та CSS, відчуваючи себе досить продуктивним.
Я все ще влаштувався на BEM. Це багатослівно, але простір імен робить роботу з ним у компонентах React дуже природним. Він також чудово підбирає конкретні елементи під час тестування браузера.
OOCSS та BEM - лише деякі стандарти CSS. Виберіть той, який працює для вас - вони всі сповнені компромісів, тому що CSS просто не так добре .
Оновлення 2020 року
Нудне оновлення цього року. Я все ще використовую BEM. Моя позиція насправді не змінилася з оновлення 2019 року з перелічених вище причин. Використовуйте те, що працює для вас, що масштабується з розміром вашої команди та приховує стільки ж, скільки мало поганого набору функцій CSS, скільки вам подобається.