my_purplefire
@my_purplefire
strive for perfection

Как правильно оформлять HTML код?

Прочитал статью (перевод) "Руководство по оформлению HTML/CSS кода от Google".
Собственно, вопросы:
1.Действительно ли ипользуют подобные записи:
<ul>
  <li>Some text
  <li>Some text
  <li>Some text</li>
</ul>

А также отказ от header и body(если не применяются к тому стили)?
2.И имеет ли значение, сколько пробелов используется в ТАБе (у меня 4, рекомендуют 2, а то и 1), если все это можно впоследствии с помощью каких либо плагинов оформить, а то и вовсе минифицировать, избавившись от различных пробелов и кавычек, которые не обязательны, но удобны для чтения и восприятия?
_________________________________________________________________
Вопросы не по статье:
3. Используют ли !important в CSS, или же его использование означает изначально неправильное оформление (пересечение стилей)?
4. Можно ли для своих нужд кастомизировать размеры сетки Bootstrap, если та не подходит по дефолтным значениям к макету?
5. Где можно почитать о БЭМ с хорошими примерами (не спецификацию)?
P.s. Я новичок, так что не закидывайте помидорками сильно =) Если где-то ступил - буду рад выслушать!
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
dimovich85
@dimovich85 Куратор тега CSS
https://u-academy.net/
Окей, гугл, давай с тобой поспорим))
1. Насчет не закрытых тегов, да, кто-то использует, но неужели так сложно его закрыть? Тем более, что закрытый тег ошибкой 1000% не будет, а вот незакрытый... Насчет body, тоже лучше оставить как есть. Для читаемости, ИМХО, закрытый тег лучше. + к сказанному - это рекомендация. Правило оформление кода важно если Вы в команде, и там так принято, тогда да, как сказали - так и пишем или увольняемся на вольные хлеба)
2. Опять же, если в команде принято 2, то 2, мне удобно 4 и меня в этом не ограничивают, так что я за 4ку, не 1, не люблю код плоский, как доска. 2 советуют, чтобы код далеко не уезжал при вложенности.
3. Я вот у Ильи Климова слышал неоднократно фразу, которая понравилась, думаю, это не его прям фраза, чтоб копирайт ставить, но, ближе к делу: "Все есть яды, все есть лекарства". !important надо употреблять также, как употребляете лекарства, если заболел, то что делать, если надо. Когда надо, тогда надо, но поверьте, надо крайне редко, и от !important, по умолчанию, откажитесь.
4. Бутстрап вроде бы нет, сетку нельзя. НО! Я пользуюсь Smartgrid. Полностью гибкая - пишете конфиг, меняете все параметры сетки, межколоночный отступ, количество колонок, препроцессор, парадигму "mobile first"/"desktop first", breakpoints, размеры контейнера....
5. Про БЭМ и писано переписано, почему бы не из первых уст?
PS желаю успехов в становлении профессионалом!
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@archelon
1. незакрытые теги — допускается, но лучше не надо.
в некоторых случаях может улучшить читабельность кода.
2. кол-во пробелов — без разницы, но желательно соблюдать единый стиль.
3. !important — в самых крайних случаях, когда на скорую руку нужно что-то поправить, и пообещать себе, что обязательно, как только будет время, все начисто переписать :-)
Ответ написан
mrsexy
@mrsexy
Senior Pomidor
1. Закрытие тегов обязательно для очистки кармы. Не критично, браузеры понимают, но ваш идеал это чистая консоль и чистый лог валидатора. header, body - так же нужно закрывать.
2. 4 пробела в табе используют в препроцессорах html, к примеру pug/jade - здесь это обязательно. В обычной верстке используйте так, как вам удобно. Чтобы проще было ориентироваться в своем коде. В конечном итоге на продакшен заливается минифицированный HTML/CSS/JS, для оптимизации скорости загрузки.
3. Этот вопрос больше подходит к самой методологии БЭМ. Когда у вас есть 1 основной блок с некими стандартными свойствами и вы используете к нему префикс классы для описания дополнительных свойств. Для того, чтобы сам блок можно было использовать неоднократно с разными свойствами. Для этого избегают глобальных свойств блока, если они могут изменяться. Соответственно неправильное понимание структуры и описания глобальных свойств блоку, вызывают !important, когда вы записываете префикс класс для блока, где нужно изменить уже записанное глобально свойство, к примеру фон блока.
4. Откажитесь в начале от Bootstrap сетки в пользу flex/grid. Для того чтобы в целом разобраться как работают стили. Учитесь в начале делать правильно и хорошо. Плохо делать вы и так умеете. К Bootstrap обычно обращаются в быстрой развертке проекта, и в основном для каких-то проектов где никто не будет париться на тему поддержки кода. Сделали и забыли.
5. - Статей о БЭМ в интернете полно, основной принцип БЭМ я описал в 3 пункте.
Ответ написан
Ваш ответ на вопрос

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

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