-[Режим совместимости Internet Explorer](#html-ie-compatibility-mode)
-[Кодировка символов](#html-encoding)
-[Подключение CSS и JavaScript](#html-style-script)
-[Относительные и абсолютные пути до ресурсов](#html-absolute-and-relative-paths)
-[Название файлов](#html-file-name)
-[Идентификаторы](#html-identificators)
-[Порядок атрибутов](#html-attribute-order)
-[Логические атрибуты](#html-boolean-attributes)
-[Элементы и атрибуты элементов форм](#html-form)
-[Ссылки с протоколами](#html-links-and-protocol)
-[Сокращение разметки](#html-reducing-markup)
-[Изображения](#html-images)
-[Взаимодействие HTML и JavaScript](#html-javascript)
-[Комментарии](#html-comments)
-[Синтаксис](#html-syntax)
-[HTML5 doctype](#html-doctype)
-[Атрибут языка](#html-lang)
-[Режим совместимости Internet Explorer](#html-ie-compatibility-mode)
-[Кодировка символов](#html-encoding)
-[Подключение CSS и JavaScript](#html-style-script)
-[Относительные и абсолютные пути до ресурсов](#html-absolute-and-relative-paths)
-[Название файлов](#html-file-name)
-[Идентификаторы](#html-identificators)
-[Порядок атрибутов](#html-attribute-order)
-[Логические атрибуты](#html-boolean-attributes)
-[Элементы и атрибуты элементов форм](#html-form)
-[Ссылки с протоколами](#html-links-and-protocol)
-[Сокращение разметки](#html-reducing-markup)
-[Изображения](#html-images)
-[Взаимодействие HTML и JavaScript](#html-javascript)
-[Комментарии](#html-comments)
## <a name="html">HTML</a>
...
...
@@ -52,7 +52,7 @@
<!-- Хорошо -->
<divclass="block">
<divclass="block__element">ZK</div>
<divclass="block__element">ZK</div>
</div>
```
...
...
@@ -61,23 +61,23 @@
```html
<!-- Плохо -->
<divclass="project">
<divclass="project__name">Lorem</div>
<divclass="project__desc">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
<divclass="project__name">Lorem</div>
<divclass="project__desc">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
</div>
<divclass="project">
<divclass="project__name">Ipsum.</div>
<divclass="project__desc">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
<divclass="project__name">Ipsum.</div>
<divclass="project__desc">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
</div>
<!-- Хорошо-->
<divclass="project">
<divclass="project__name">Lorem</div>
<divclass="project__desc">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
<divclass="project__name">Lorem</div>
<divclass="project__desc">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
</div>
<divclass="project">
<divclass="project__name">Ipsum.</div>
<divclass="project__desc">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
<divclass="project__name">Ipsum.</div>
<divclass="project__desc">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
</div>
```
...
...
@@ -86,12 +86,12 @@
```html
<!-- Плохо -->
<span>
<div>:(</div>
<div>:(</div>
</span>
<!-- Хорошо -->
<span>
<span>:)</span>
<span>:)</span>
</span>
```
...
...
@@ -100,12 +100,12 @@
```html
<!-- Плохо -->
<divclass="block">∙
<divclass="block__element">ZK</div>∙∙∙∙
<divclass="block__element">ZK</div>∙∙∙∙
</div>――――――――
<!-- Хорошо -->
<divclass="block">
<divclass="block__element">ZK</div>
<divclass="block__element">ZK</div>
</div>
```
...
...
@@ -124,16 +124,16 @@
```html
<!-- Плохо -->
<divclass=block>
<divclass=block__element>ZK</div>
<divclass=block__element>ZK</div>
</div>
<divclass='block'>
<divclass='block__element'>ZK</div>
<divclass='block__element'>ZK</div>
</div>
<!-- Хорошо -->
<divclass="block">
<divclass="block__element">ZK</div>
<divclass="block__element">ZK</div>
</div>
```
...
...
@@ -152,22 +152,22 @@
```html
<!-- Плохо -->
<body>
<p>Полезные инструменты
<ul>
<li>Grunt
<li>Jade
<li>Stylus
</ul>
<p>Полезные инструменты
<ul>
<li>Grunt
<li>Jade
<li>Stylus
</ul>
<!-- Хорошо -->
<body>
<p>Полезные инструменты</p>
<ul>
<li>Grunt</li>
<li>Jade</li>
<li>Stylus</li>
</ul>
<p>Полезные инструменты</p>
<ul>
<li>Grunt</li>
<li>Jade</li>
<li>Stylus</li>
</ul>
</body>
```
...
...
@@ -179,10 +179,10 @@
<!DOCTYPE html>
<html>
<head>
<!-- ... -->
<!-- ... -->
</head>
<body>
<!-- ... -->
<!-- ... -->
</body>
</html>
```
...
...
@@ -354,20 +354,20 @@ contacts.html
- Формы не должны вкладываться друг в друга. Если они разные, то должны быть раздельны друг от друга.
- Форма должна иметь атрибуты:
-`action` - для указания адреса отправки данных.
-`method` - метод передачи данных, обычно в значении указывается `post`.
-`action` - для указания адреса отправки данных.
-`method` - метод передачи данных, обычно в значении указывается `post`.
```html
<!-- Плохо -->
<form>
<!-- ... -->
<buttontype="submit">Подать заявку</button>
<!-- ... -->
<buttontype="submit">Подать заявку</button>
</form>
<!-- Хорошо -->
<formaction="send.php"method="post">
<!-- ... -->
<buttontype="submit">Подать заявку</button>
<!-- ... -->
<buttontype="submit">Подать заявку</button>
</form>
```
...
...
@@ -376,22 +376,22 @@ contacts.html
```html
<!-- Плохо -->
<formaction="send.php"method="post">
<!-- ... -->
<ahref="send.php">Подать заявку</a>
<!-- ... -->
<ahref="send.php">Подать заявку</a>
</form>
<!-- Хорошо -->
<formaction="send.php"method="post">
<!-- ... -->
<buttontype="submit">Подать заявку</button>
<!-- ... -->
<buttontype="submit">Подать заявку</button>
</form>
```
- Если нестандартные элементы форм типа списков или слайдеров генерируются с помощью JavaScript, то выбранное значение должно сохраняться в специальном теге `<input type="hidden">`, если испольузется тег `select`, то сохраняться в дочернем теге `option`.
- Элементы формы должны иметь атрибуты:
-`name` и `value` - для ключа и значения.
-`for` и `id` - для связи надписи и элемента, при клике на надпись элемент будет фокусироваться.
-`name` и `value` - для ключа и значения.
-`for` и `id` - для связи надписи и элемента, при клике на надпись элемент будет фокусироваться.
input.input-text(type='text' name='project' value='zk' data-required='Это поле обязательно для заполнения!'data-hint='Допустимы только символы латинского алфавита `[a-z-A-Z]` и числа `[0-9]`.' required)
input.input-text(type='text' name='project' value='zk' data-required='Это поле обязательно для заполнения!'data-hint='Допустимы только символы латинского алфавита `[a-z-A-Z]` и числа `[0-9]`.' required)
//- Хорошо
input.input-text(
type='text'
name='project'
value='zk'
data-required='Это поле обязательно для заполнения!'
data-hint='Допустимы только символы латинского алфавита `[a-z-A-Z]` и числа `[0-9]`.'
required
type='text'
name='project'
value='zk'
data-required='Это поле обязательно для заполнения!'
data-hint='Допустимы только символы латинского алфавита `[a-z-A-Z]` и числа `[0-9]`.'
required
)
```
...
...
@@ -143,28 +143,28 @@ input.input-text(
```pug
//- Плохо
.project
.project__name Lorem
.project__desc
| Lorem ipsum dolor sit amet, consectetur adipisicing elit.
| Unde doloremque neque facilis sed repudiandae tempore ipsum provident officia eaque quas.
.project__name Lorem
.project__desc
| Lorem ipsum dolor sit amet, consectetur adipisicing elit.
| Unde doloremque neque facilis sed repudiandae tempore ipsum provident officia eaque quas.
.project
.project__name Ipsum.
.project__desc
| Lorem ipsum dolor sit amet, consectetur adipisicing elit.
| Unde doloremque neque facilis sed repudiandae tempore ipsum provident officia eaque quas.
.project__name Ipsum.
.project__desc
| Lorem ipsum dolor sit amet, consectetur adipisicing elit.
| Unde doloremque neque facilis sed repudiandae tempore ipsum provident officia eaque quas.
//- Хорошо
.project
.project__name Lorem
.project__desc
| Lorem ipsum dolor sit amet, consectetur adipisicing elit.
| Unde doloremque neque facilis sed repudiandae tempore ipsum provident officia eaque quas.
.project__name Lorem
.project__desc
| Lorem ipsum dolor sit amet, consectetur adipisicing elit.
| Unde doloremque neque facilis sed repudiandae tempore ipsum provident officia eaque quas.
.project
.project__name Ipsum.
.project__desc
| Lorem ipsum dolor sit amet, consectetur adipisicing elit.
| Unde doloremque neque facilis sed repudiandae tempore ipsum provident officia eaque quas.
.project__name Ipsum.
.project__desc
| Lorem ipsum dolor sit amet, consectetur adipisicing elit.
| Unde doloremque neque facilis sed repudiandae tempore ipsum provident officia eaque quas.
```
- Строчные элементы можно записывать на одной строке через двоеточие `:`.<br>Не злоупотреблять с длинными классами.
*`CoffeeScript` - подсветка кода для CoffeeScript.
* Настройте редактор для удобства с помощью `Preferences > Settings - User`. После открытия файла пользовательских настроек вставьте код ниже и сохраните.
```js
{
// Всегда отображается карта кода с рамкой текущего положения
* Добавляем проект в Sublime Text с помощью `Project > Add Folder to Project`. Выбрав папку с проектом, он появится на панели проектов слева, которую можно открыть с помощью последовательных комбинаций горячих клавиш `ctrl+k` и `ctrl+b` или `View > Side Bar > Show Side Bar`.<br>