Background Image

Оформление HTML/CSS кода

Web design

by — Category Web design on

Введение

Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры. 
Это относится к рабочим версиям файлов использующих HTML, CSS и GSSю
Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.

Общие правила оформления

Не указывайте протокол при включении ресурсов на страницу. 

Опускайте название протокола (http:, https:) в ссылках на картинки или другие медиа-ресурсы, файлы стилей или скрипты, конечно, если эти файлы доступны по обоим протоколам. 
Отсутствие протокола делает ссылку относительной, что предотвращает смешивание ресурсов из разных протоколов и незначительно уменьшает размер файлов. 

 

Не рекомендуется:

  <script src="http://www.google.com/js/gweb/analytics/autotrack.js"></script>

Рекомендуется:

  <script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>

 Не рекомендуется:

  .example {
    background: url(http://www.google.com/images/example);
  }

Рекомендуется:

  .example {
    background: url(//www.google.com/images/example);
  }

Всегда пишите в нижнем регистре

Весь код должен быть написан в нижнем регистре: Это относится к названиям элементов, названиям атрибутов, значениям атрибутов (кроме текста/CDATA), селекторам, свойствам и их значениям (кроме текста). 

Не рекомендуется: 

  <A HREF="/">Домой</A>

Рекомендуется:

  <img src="logo.png" alt="logo">

 

Правила оформления HTML кода

Используйте HTML5. 

HTML5 (HTML синтаксис) рекомендуется для всех html-документов: <!DOCTYPE html>. 

 

По возможности используйте валидный HTML

Валидность — это важное и при этом измеряемое качество кода. Написание валидного HTML способствует изучению технических требований и ограничений и обеспечивает правильное использование HTML. 

Используйте валидный HTML код, кроме случаев, когда использование не позволяет достичь размера файла, необходимого для нужного уровня производительности. 

Не рекомендуется:

  <title>Проверка</title>
  <article>Просто проверка

Рекомендуется:

  <!DOCTYPE html>
  <meta charset="utf-8">
  <title>Проверка</title>
  <article>Просто проверка.</article>

 

Всегда указывайте альтернативное содержимое для мультимедиа. 

Постарайтесь указать альтернативное содержимое для мультимедиа, таких как картинки, видео или анимации, заданных с помощью canvas. Для картинок это осмысленный альтернативный текст (alt), а для видео и аудио расшифровки текста и подписи, если это возможно. 
Альтернативное содержимое может помочь людям с с ограниченными возможностями. Например человеку со слабым зрением сложно понять, что на картинке если для нее не задан @alt. Другим людям может быть тяжело понять о чем говорится в видео или аудио записи. 
(Если для картинки alt избыточен, или она используется только в декоративных целях в местах, где нельзя использовать CSS, используйте пустой альтернативный текст alt=""

Не рекомендуется:

    <img src="spreadsheet.png">

Рекомендуется:

    <img src="spreadsheet.png" alt="Spreadsheet screenshot.">

Разделяйте структуру, оформление и поведение. 

Держите структуру (разметка), оформление (стили) и поведение (скрипты) раздельно и постарайтесь свести взаимодействие между ними к минимуму. 

Убедитесь, что документы и шаблоны содержат только HTML, и что HTML служит только для задания структуры документа. Весь код, отвечающий за оформление, перенесите в файлы стилей, а код отвечающий за поведение — в скрипты. 

Старайтесь сократить их пересечения к минимуму, включая в шаблоны минимальное количество файлов стилей и скриптов. 

Отделение структуры от представления и поведения помогает облегчить поддержку кода. Изменение шаблонов и HTML-документов всегда занимает больше времени чем изменение файлов стилей или скриптов.  

Не рекомендуется:

   <title>HTML sucks</title>
  <link rel="stylesheet" href="base.css" media="screen">
  <link rel="stylesheet" href="grid.css" media="screen">
  <link rel="stylesheet" href="print.css" media="print">

Рекомендуется:

  <title>My first CSS-only redesign</title>
  <link rel="stylesheet" href="default.css">
 

Не используйте ссылки-мнемоники. 

Нет смысла использовать ссылки-мнемоники, такие как &mdash;, &rdquo;, или &#x263a;, когда все команды в файлах, редакторах используют одну кодировку (UTF-8

Единственное исключение из этого правила — служебные символы HTML (например < и &) а так же вспомогательные и “невидимые” символы (например неразрывный пробел). 

Не рекомендуется:

  Валютный знак евро: &ldquo;&eur;&rdquo;.

Рекомендуется:

  Валютный знак евро: “€”.

 

Не указывайте атрибут type при подключении стилей и скриптов в документ. 

Не используйте атрибут type при подключении стилей (кроме вариантов когда используется что-то кроме CSS) и скриптов (кроме вариантов когда это не JavaScript). 
Указывать атрибут type в данном случае не обязательно, потому что HTML5 использует text/css (англ.) и text/javascript (англ.) по умолчанию

Не рекомендуется:

  <link rel="stylesheet" href="//www.google.com/css/maia.css"  type="text/css">

Рекомендуется:

  <link rel="stylesheet" href="//www.google.com/css/maia.css">

Не рекомендуется:

  <script src="//www.google.com/js/gweb/analytics/autotrack.js"  type="text/javascript"></script>

Рекомендуется:

  <script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>

 

Выделяйте новую строку для каждого блочного, табличного или списочного элемента и ставьте отступы для каждого дочернего элемента. 

Независимо от стилей заданных для элемента (CSS позволяет изменить поведение элемента с помощью свойства display), переносите каждый блочный или табличный элемент на новую строку. 
Также ставьте отступы для всех элементов вложенных в блочный или табличный элемент. 
(Если у вас возникнут сложности из-за пробельных символов между списочными элементами, допускается поместить все li элементы в одну строку. Линту [утилита для проверки качества кода прим. пер.] рекомендуется в данном случае выдавать предупреждение вместо ошибки. 

Рекомендуется:

  <blockquote>
    <p><em>Space</em>, the final frontier.</p>
  </blockquote>

Рекомендуется:

  <ul>
    <li>Маша
    <li>Глаша
    <li>Чебураша
  </ul>

Рекомендуется:

  <table>
    <thead>
      <tr>
        <th scope="col">Прибыль
        <th scope="col">Налоги
    <tbody>
      <tr>
        <td>$ 5.00
        <td>$ 4.50
  </table>

 

Используйте шаблонные или имеющие смысл имена классов и идентификаторы. 

Вместо использования шифров, или описания внешнего вида элемента, попробуйте в имени класса или идентификатора выразить смысл его создания, или дайте ему шаблонное имя… 
рекомендуется выбирать имена, отражающие сущность класса, потому что их проще понять и, скорее всего, не понадобится менять в будущем. 
Шаблонные имена — это просто вариант названия для элементов, у которых нет специального предназначения или которые не отличаются от своих братьев и сестер. Обычно они необходимы в качестве “Помощников.” 
Использование функциональных или шаблонных имен уменьшает необходимость ненужных изменений в документа или шаблонах. 

Не рекомендуется:

  /* Не рекомендуется: не имеет смысла */
  #yee-1901 {}
  
  /* Не рекомендуется: описание внешнего вида */
  .button-green {}
  .clear {}

Рекомендуется:

  /* Рекомендуется: точно и по делу */
  #gallery {}
  #login {}
  .video {}
  
  /* Рекомендуется: шаблонное имя */
  .aux {}
  .alt {}

Для идентификаторов и классов используйте настолько короткие имена, насколько это возможно. 

Попробуйте сформулировать, что именно должен делать данный элемент, при этом будьте кратки насколько возможно. 
Такое использование классов и идентификаторов вносит свой вклад в облегчение понимания и увеличение эффективности кода. 

Не рекомендуется:

  #navigation {}
  .atr {}

Рекомендуется:

  #nav {}
  .author {}

 

Избегайте использование имен классов или идентификаторов с селекторами типа (тега) элемента. 

Кроме случаев когда это необходимо (например с классами-помощниками), не используйте названия элементов с именами классов или идентификаторами. 
Это повышает Производительность (англ.). 

Не рекомендуется:

  ul#example {}
  div.error {}

Рекомендуется:

  #example {}
  .error {}

Используйте сокращенные формы записи свойств, где возможно. 

CSS предлагает множество различных сокращенных (англ.) форм записи (например font), которые рекомендуется использовать везде где это возможно, даже если задается только одно из значений. 
Использование сокращенной записи свойств полезно для большей эффективности и лучшего понимания кода. 

Не рекомендуется:

  border-top-style: none;
  font-family: palatino, georgia, serif;
  font-size: 100%;
  line-height: 1.6;
  padding-bottom: 2em;
  padding-left: 1em;
  padding-right: 1em;
  padding-top: 0;

Рекомендуется:

  border-top: 0;
  font: 100%/1.6 palatino, georgia, serif;
  padding: 0 1em 2em;

 

Не указывайте единицы измерения для нулевых значений.

Не указывайте единицы измерения для нулевых значений если на это нет причины. 

Не рекомендуется:

margin: 0px;

padding: 0em;

Рекомендуется:

  margin: 0;
  padding: 0;

 

Не ставьте “0” в целой части дробных чисел. 

Не ставьте 0 в целой части в значениях между -1 и 1. 

Не рекомендуется:

  font-size: 0.8em;

Рекомендуется:

  font-size: .8em;

Не используйте кавычки в ссылках 

Не используйте кавычки (", '') с url( ). 

Рекомендуется:

  @import url(//www.google.com/css/go.css); 

Используйте трехсимвольную шестнадцатеричную запись где это возможно. 

Трехсимвольная шестнадцатиричная запись для цветов короче и занимает меньше места. 

Не рекомендуется:

  color: #eebbcc;

Рекомендуется:

  color: #ebc; 

Разделяйте слова в идентификаторах и именах классов с помощью дефиса. 

Не используйте ничего, кроме дефиса, для соединения слов и сокращений в селекторах, чтобы повысить удобство чтения и легкость понимания кода. 

Не рекомендуется:

  /* Не рекомендуется: слова “demo” и “image” не разделены */
  .demoimage {}
  
  /* Не рекомендуется: используется подчеркивание вместо дефиса */
  .error_status {}

Рекомендуется:

  /* Рекомендуется */
  #video-id {}
  .ads-sample {}

 

Сортируйте объявления по алфавиту. 

Задавайте объявления в алфавитном порядке, чтобы получить согласованный код, с которым легко работать. 

При сортировке игнорируйте браузерные префиксы. При этом, если для одного свойства используются несколько браузерных префиксов, они также должны быть отсортированы (например -moz должен быть перед -webkit

Рекомендуется:

  background: fuchsia;
  border: 1px solid;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;

  border-radius: 4px;
  color: black;
  text-align: center;
  text-indent: 2em;

Всегда ставьте отступы для содержимого блоков. 

Всегда ставьте отступы для любого блочного содержимого (англ.), Например для правил внутри правил или объявлений, чтобы отобразить иерархию и облегчить понимание кода. 

Рекомендуется:

  @media only screen{
  
    html {
      background: #fff;
      color: #333;
    }
  
  }

 

Ставьте точку с запятой после каждого объявления. 

После каждого объявления ставьте точку с запятой для согласованности кода и облегчения добавления новых свойств. 

Не рекомендуется:

  .test {
    display: block;
    height: 100px
  }

Рекомендуется:

  .test {
    display: block;
    height: 100px;
  }

Используйте пробелы после двоеточий в объявлениях. 

Всегда используйте один пробел после двоеточия (но не до) в объявлениях, для порядка в коде. 

Не рекомендуется:

  h3 {
    font-weight:bold;
  }

Рекомендуется:

  h3 {
    font-weight: bold;
  }

 

Отделяйте селекторы и объявления переносом строки. 

Начинайте каждый селектор или объявление с новой строки. 

Не рекомендуется:

  a:focus, a:active {
    position: relative; top: 1px;
  }

Рекомендуется:

  h1,
  h2,
  h3 {
    font-weight: normal;
    line-height: 1.2;
  }

Разделяйте правила переносом строки. 

Всегда ставьте перенос строки между правилами. 

Рекомендуется:

  html {
    background: #fff;
  }
  
  body {
    margin: auto;
    width: 50%;
  }

 

Заключение

Будьте последовательны 

Если вы редактируете код, потратьте несколько минут, чтобы разобраться в том, как он написан. Если математические операторы обособлены пробелами, делайте то же самое. Если комментарии окружены скобочками или черточками, сделайте то же со своими комментариями. 
Идея этого руководства в том, чтобы создать общий словарь, который позволил бы разработчикам сконцентрироваться на том что они хотят выразить, а не на том, как. 
Мы предлагаем единые правила оформления позволяющие писать код в одном стиле, но стиль кода, уже используемый в проекте, также важен. 
Если ваш код будет сильно отличаться от существующего, это может сбить читающего с ритма и затруднить чтение. Постарайтесь этого избежать.


Понравился материал?
Поделитесь с друзьями

С этим материалом смотрят:
    SEO-оптимизация и продвижение сайтов

    SEO-оптимизация и продвижение ...

    Продвижение сайта – это проце...

    View More
    0 567 23:29
    Из чего складывается цена за хороший сайт?

    Из чего складывается цена за х...

    При первом обращении к web-разработчикам каждый спра...

    View More
    0 757 22:41
    Критерии оценки качества дизайна веб-сайта

    Критерии оценки качества дизай...

    Веб-дизайн являет...

    View More
    0 707 17:40
    Прежде чем браться за макет

    Прежде чем браться за макет

    Я часто забываю что-нибудь из важных вещей во время ...

    View More
    0 404 23:37
Feedback: 0

Leave a Comment

Имя *:
Email *:
Код *:
Menu