squadbrodyaga
@squadbrodyaga
татарский богатырь

Всегда ли нужно использовать id и class?

Здравствуйте, когда я верстаю сайты, то я стараюсь не прописывать лишние классы и идентификаторы на элементы.
Для каждой новой страницы у меня отдельный CSS файл, но как я понял, есть какая-то фиговина, которая объединяет все CSS файлы в один. И вот мой вопрос заключается в том, что не сломает ли эта фигня мне весь сайт? Или мне придётся всё переделывать и всем элементам дать свой ID или class?
  • Вопрос задан
  • 875 просмотров
Решения вопроса 4
Создание нового css-файла для каждой страницы, подразумевает что в данном файле вы будете описывать классы и стили, которые будут использоваться только на данной странице. То есть вы заведомо не повторяете свой код, выделяете схожие элементы на странице, создаете конкретный класс, описывающий данные элементы на странице. В таком случае никаких пробле при использовании "фиговины, которая объединяет все CSS файлы в один", не будет.

Кроме того, эта "фиговина", а на самом деле простой сборщик, просто собирает все ваши css-файлы в один последовательно, то есть реальной вашей проблемой при повторяющемся коде может быть только переопределение уже написанных вами классов.
Ответ написан
AntonLitvinenko
@AntonLitvinenko
HTML coder
судя по вопросу вы верстаете сайты для себя, как только вы столкнетесь с итеграцией с какой либо cms половина вопросов отпадет сама собой. Сайты обычно динамические, почти всегда хедер и футер вынесен в отдельные файли и используется на всем сайте. Стили в зависимости от системы могут подключатся по разному, но вам придется выдумывать кактие-то проверки, чтобы подключать конкретные стили к конкретным страницам.
И что значит стараетесь не прописывать классы? применяете стили напрямую к тегам, типа header {display: block}? так это неправильно. ID для стилизации не используется, это плохая практика.
Ответ написан
firedragon
@firedragon
Senior .NET developer
Учите css он все же каскадный. И то что ниже перекрывает то что выше,
Ответ написан
@survivor2005
Я не знаю честно говоря как все таки лучше, на практике я столкнулся с такими вещами, сначала БЭМ мне навязал мнение, что каждой пукалке обязательно давать класс, ну я так жил, честно говоря мне это не особо нравилось, уже сложно было генерировать имена, так как порой и не приходит в голову как назвать класс. Затем я на бэкэ столкнулся с тем, что мне надо было в бд хранить текст, но при выводе его на страницу, он должен был быть стилизован, более того, нужно было создать форму отправки текста в бд. Как допустим эта форма, в которой я пишу на данный момент. Если приглядеться, то чуть выше есть кнопочки b, i, и т д. Так вот если их нажать, то текст обернет тегами без каких либо классов. Соответственно текст попадает в бд с тегами, но без классов. Из этого следует что ксс написан таким образом, что в основном классы даются главным блокам, а дети получают стиль от родителя. Что то типа .header > div{color:white} , .header>p{color:red} . Ну и т д. Мне так стало проще. Но и тут конечно есть минусы. Например у scss препроцессора есть наследования, @extend который принимает название класса. И не принимает такие цепочки от родителей. Но я не парюсь, пока без них обходился.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы