Типовые решения в вёрстке
Типовые решения в вёрстке
Как и любой другой код, ХТМЛ и ЦСС нужно форматировать. Отформатированный код проще читать и понимать.
Есть много подходов к форматированию кода, но де‑факто есть негласный устоявшийся стандарт, которого с незначительными вариациями придерживается большинство профессиональных разработчиков. В Гугле формализовали этот продукт коллективного разума и превратили в стандарт оформления кода для использования в проектах компании. Он описан в стайлгайдах Гугля — их можно использовать как шпаргалку. Мы рассмотрим главные принципы.
Делать отступы двумя пробелами и не использовать табы
<ul>
<li>Да
<li>Нет
</ul>
.example {
color: blue;
}
Не использовать прописные буквы в именах элементов, атрибутах и стилях
<A HREF="/">Главная</A>
<img src="logo.png" alt="Мяу">
img {
BORDER: 1px solid #56AAF1;
}
img {
border: 1px solid #56aaf1;
}
Использовать кодировку UTF‑8
Чтобы задать кодировку страницы, нужно добавить директиву в блок head
:
<meta charset="utf-8">
Максимально разделять представление, структуру и поведение (скрипты)
Следует избегать инлайновых стилей и скриптов и выносить их в отдельные подключаемые файлы. Количество подключаемых файлов нужно сводить к минимуму, чтобы улучшить производительность страницы.
<head>
<title>Примесь как дуализм</title>
<link rel="stylesheet" href="reset.css" media="screen">
<link rel="stylesheet" href="styles.css" media="screen">
<link rel="stylesheet" href="print.css" media="print">
</head>
<body>
<h1 style="font-size: 1em;">Примесь как дуализм</h1>
<p>При переходе к следующему уровню организации почвенного покрова резонатор выводит <u>трансцендентальный нонаккорд</u>. Алеаторика решает трагический бабувизм.<br><center>Адаптация качественно испускает керн.</center></p>
</body>
<head>
<title>Мелодический ташет глазами современников</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<h1>Мелодический ташет глазами современников</h1>
<p>Герменевтика регрессийно представляет собой хамбакер. Вселенная достаточно огромна, чтобы мишень вероятна. Арпеджио поглощает данный структурализм. Экситон принимает во внимание Тукан. Бесспорно, сверхпроводник сжимает онтологический атом, что дает возможность использования данной методики как универсальной.</p>
<p>Наряду с этим колебание случайно.</p>
</body>
Использовать обычные символы вместо символьных кодов
Все необходимые символы уже есть в кодировке UTF‑8, нет смысла заменять их кодами. Исключением могут быть некоторые символы, которые необходимо экранировать.
<p>The currency symbol for the Euro is “&eur;”.</p>
<p>The currency symbol for the Euro is “€”.</p>
Переносить каждый блочный элемент, пункт списка или элемент таблицы на новую строку и выделять дочерние элементы отступами
<footer>
<p>Читайте продолжение статьи <a href="/next">в нашем свежем выпуске</a></p>
</footer>
<p>Купить:</p>
<ul>
<li>Молоко</li>
<li>Яйца</li>
<li>Бананы</li>
</ul>
<table>
<thead>
<tr>
<th>Цена</th>
<th>Количество</th>
</tr>
</thead>
<tbody>
<tr>
<td>1000 ₽</td>
<td>4</td>
</tr>
</tbody>
</table>
Использовать двойные кавычки в значениях атрибутов
<a class='login'>Войти</a>
<a class="login">Войти</a>
Использовать короткие формы записи правил, где это возможно
font-family: Helvetica;
font-style: normal;
font-weight: 500;
font-size: 18px;
line-height: 22px;
border-top-style: none;
margin-top: 0;
margin-bottom: 30px;
margin-left: 20px;
margin-right: 20px;
margin: 0 20px 30px;
border-top: 0;
font: 500 18px/22px Helvetica, sans-serif;
Не писать единицы измерения у нулевых значений
border-width: 0px;
margin: 0px 20px;
border-width: 0;
margin: 0 20px;
Избегать названий тегов в селекторах
Для селекторов с идентификаторами элемента это вообще не имеет смысла, потому что элемент с идентификатором всегда должен быть в единственном экземпляре.
ul#example {}
div.error {}
#example {}
.error {}
Отделять значения свойств пробелом и ставить точку с запятой в конце каждого правила
.test {
display:block;
height:100px
}
.test {
display: block;
height: 100px;
}
Отделять селектор от блока описания правила пробелом
Левую скобку нужно оставлять на одной строке с селектором:
#video{
margin-top: 1em;
}
#video
{
margin-top: 1em;
}
#video {
margin-top: 1em;
}
Переносить каждый селектор и каждое свойство на новую строку
a:focus, a:active {
position: relative; top: 1px;
}
h1,
h2,
h3 {
font-weight: normal;
line-height: 1.2;
}
Использовать одинарные кавычки в ЦСС
header {
background: url("bg.png") no-repeat center;
font-family: "open sans", arial, sans-serif;
}
header {
background: url('bg.png') no-repeat center;
font-family: 'open sans', arial, sans-serif;
}
Если придерживаться хотя бы некоторых из перечисленных правил оформления, код станет гораздо проще для восприятия.
P. S. Это был совет о веб‑разработке. Хотите знать всё о коде, тестах, фронтенд‑разработке, цеэсэсе, яваскрипте, рельсах и джейде? Присылайте вопросы.