Стоит ли использовать инлайн стили или обязательно создавать класс/id?

Всем привет!

Часто при вёрстке возникает такая проблема: например в сервисе есть куча форм, и там имеются textarea полностью одинаковые по стилям, только различается высота. Так вот: неужели хорошей практикой будет плодить сущности в виде отдельных (дополнительных) классов/id для каждой из них, писать лишние css строки, когда проще задать им эту высоту в инлайн стилях в самом html? Что-то вроде
<textarea style="height: 100px">

А также иногда встречаются такие противные блоки, у которых в макете есть уникальный вертикальный отступ, отличный от вертикального отступа остальных таких же блоков, и опять же стоит дилемма - неужели нужно создавать для него отдельный (дополнительный) класс/id, когда проще прописать внутри блока margin-top

Или есть ещё способ?
  • Вопрос задан
  • 448 просмотров
Решения вопроса 2
Akdmeh
@Akdmeh
PHP, Yii2, Music
Да, лучше создать отдельный id или класс.
Почему?
Да потому, что потом не будет возникать вопросов: "а как этот блок позиционируется", да и проследить проще в одном файле, чем искать потом в десятках других.
Вот даже сейчас рефакторю проект, и сталкиваюсь с этой проблемой - все сделано нормально в общем файле, а некоторые свойства прописаны с помощью style. И этот код и дублируется в разных файлах, и изменяется немного, да и не всегда быстро можно найти, в котором же именно файле генерируется это свойство (особенно если это смесь html, js, php)...
Ответ написан
@andreyqin
Все просто - для таких блоков вы выделяете общий класс, в который пишите стили, встречающиеся у всех подобных элементов, а уже уникальные стили определяете в нужном контексте.

Например (с использованием less):
.form-input {
    width: 200px;
    height: 50px;
    line-height: 50px;
    font-size: 16px;
    border: 1px solid #eee;
}

.form1 {
    .form-input {
        margin-top: 20px;
    }
}

.form2 {
    .form-input {
        width: 210px;
    }
}


Ни в коем случае не пишите стили в разметке - это плохая практика. И не используйте id в стилях - это тоже плохая практика, так как id увеличивает специфичность правила, которое потом приходится переопределять с помощью !important, на больших проектах это может выйти боком.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
arizona
@arizona
а что я, собственно, здесь делаю?...
Если у вас высота формы зависит от высоты соседней колонки - то, возможно, стоит использовать джаваскрипт для задания высоты.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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