- Все динамические картинки (те которые теоретически могут меняться через админку) делать с помошью тега
<img>
а не css-свойстваbackground-image
. Например, фотографии товаров, иконки разделов. - Верстать дивами, без таблиц. Таблицы использовать только в случае, если надо сверстать таблицу.
- Не писать стили на #id, только на .классы. Иногда можно привязываться на теги внутри классов, но не стоит злоупотреблять этим.
- Не использовать css спрайты. Все картинки класть по отдельным маленьким файлам.
- При вёртстке инлайновых элементов никогда не писать в коде пробелов, прописывать паддинги в стилях.
пример:
<span><b>или</b> <a href="#tab1">регистрация</a></span> <span> <b>или</b> <a href="#tab2">вход</a></span>
чтобы не было пробелов между тегами<span><b>или</b><a href="#tab1">регистрация</a></span><span><b>или</b><a href="#tab2">вход</a></span>
- Не использовать style="display:none;", вообще никогда никаких стилей в вёрстке, вместо этого пишите class="hidden"
.hidden {
display: none;
}
- Всю графику, что можно, делать через css, использовать как можно меньше фоновых картинок.
- Поменьше использовать
absolute
иrelative
позиционирование для элементов. Если можно обойтись без них, то делать без них. - Поменьше использовать
float: left
, если можно обойтисьdisplay: inline-block
, использовать егоinline-block
. - Не использовать отдельные элементы для очистки
float
. То есть не использовать элементы со стилемclear: both;
только для того, чтобы очистить предыдущиеfloat
элементы. Вместо этого на контейнер вешать.clearfix
класс, который будет выглядеть примерно так http://www.positioniseverything.net/easyclearing.html - Как можно меньше использовать
!important
. Если можно обойтись без этого, перетасовав стили, то перетасовать их. - Все анимации, какие только можно, реализовывать через css3 transition (например раскрытие/сворачивание элементов).
$.animate
по возможности стараться не использовать. - Кнопки, которые не предполагают перехода на другие страницы, не делать ссылками
<a href="#">
, вместо ссылок использоватьdiv
илиspan
. - Семантическая верстка. Это означает, что все теги и элементы страниц применяются строго по назначению. Например, свойство
background-image
используется для изображений, не несущих смысловой нагрузки, списки оформляются с помощью<li>
,<ul>
и<ol>
, цитаты — с<blockquote>
, заголовки — с<h1>
,<h2>
,<h3>
и т. п.
- Везде отступы (в файлах стилей, скриптов и вёртски) - по 2 пробела на уровень вложенности. Никаких табуляций.
- Не сливать стили в одну строчку. Вместо
:focus {outline: none;}
писать
:focus {
outline: none;
}
- Перед фигурной скобочкой 1 пробел. Вместо
.class{
писать.class {
- После двоеточия 1 пробел. Вместо
text-decoration:underline;
писатьtext-decoration: underline;
- Из атрибутов тегов писать первым класс, вторым id, остальное не важно в каком порядке.
Вместо
<input name="…" id="…" class="…" />
писать<input class="…" id="…" name="…" />
- Группировать стили по самому первому классу в цепочке. Картинка, как делать не надо: https://www.monosnap.com/image/qZWJRmY6LBoEGgEEhmE8avzfU
- Ни в каких файлах не должно быть не используемых в вёрстке стилей.