Как лучше: повторять стили или ставить много классов?

Покажу сразу примером:
Как лучше, так:
.y { color: #f4f200; }

.b { color: #131313; }

.mb10 { margin-bottom: 10px; }

.mt10 { margin-top: 10px; }

<h3 class="y mt10">HELLO</h3>
<a href="#" class="b mb10">LINK</a>
<a href="#" class="y">LINK</a>
<h2 class="mt10 mb10">HELLO</h2>


ИЛИ ТАК:

<h3 class="title">HELLO</h3>
 <h3 class="title2">HELLO</h3>
 <a href="#" class="title3">HELLO</a>


.title { color:#f4f200; font-weight: bold; margin-bottom: 10px; }
.title2 { color:#131313; font-weight: regular; margin-bottom: 10px; }
.title3 { color:#f4f200; font-weight: regular; margin-top: 20px; }
  • Вопрос задан
  • 269 просмотров
Пригласить эксперта
Ответы на вопрос 4
@bromzh
Drugs-driven development
Никак, давай элементам осмысленные имена. Не как они должны выглядеть, а что они из себя представляют. И не надо делать классы, явно указывающие на размер/цвет и т.д. Потому что это почти ничем не лучше, чем вёрстка прямо в html-коде через атрибут style.
Можешь посмотреть как рекомендуют чуваки из яндекса.
Ответ написан
Комментировать
sabramovskikh
@sabramovskikh
Погуглите про БЭМ
Второй вариант лучше
Ответ написан
Комментировать
littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.
Советую использовать sass/less и писать так, чтобы Вам было удобно. В любом случае потом нужно использовать минификатор стилей, который и так всё сожмет и распределит, как нужно.

Также если у вас есть одинаковые по смыслу блоки, можно задать им общий стиль titles, а уже отдельно каждому заголовку определить цвет/размер и другие отличающиеся стили.
Ответ написан
Комментировать
bootd
@bootd Куратор тега CSS
Гугли и ты откроешь врата знаний!
1й подход разумеется. На больших проектах никуда без этого. В исходный код того же яндекса зайдите и все увидите. А бутстрап? Тоже самое, взгляните например на создание кнопки! Там основа, цвет, размер. Так же и вам нужно делать, да и всем! Для этого и придуманы классы, что бы использовать их много раз, а писать 1!

Только именовать все нужно так, что бы было понятно, что этот класс делает!
but - Создает основу кнопки.
butWarning - делает кнопку с оформлением, означающим осторожность!
butBig - делает кнопку большой
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы