Поясните по структуре HTML документа (теги, расположение, синтаксис)?

На текущий момент использую такой шаблон для страницы (валидатор validator.w3.org одобряет).
<!DOCTYPE html>
<html lang="ru">
<head>
<title>Заголовок страницы</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv=Content-Type content="text/html;charset=UTF-8">
<link rel="icon" type="image/png" href="images/icon.png">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script type="text/javascript" src="js/jquery.min.js"></script>
</head>
<body>
Контент страницы
</body>
</html>

Но есть пара вопросов.

1) !DOCTYPE html - так в коде пишет Яндекс (например), а вот у Гугл !doctype html. Почему тут регистр не важен и нет единого стандарта (например писать только в верхнем регистре)? Аналогично html lang, html Lang.

2) html lang="ru" - язык страницы (оформление текста, кавычки и т.д.). Многие опытные веб разработчики пишут html lang="eng" и далее пишут всю страницу на русском. Почему они не используют ru?

3) JS скрипты. Они могут:
- подключаться в head,
- подключаться сразу после тега body
- подключаться самом низу, перед закрывающим тегом /body.
В чем разница?

4) Одиночные теги (холивар открыт?). Многие люди пишут одиночные теги со слешем в конце (подобно xml).
<br />, а не <br>.
Насколько я знаю, в стандарте html нет такого (это стандарт xml).
xml совместим с html и валидатор пропускает такой код, но какой смысл писать так? Если данный код появился на странице автоматически (был вставлен системой), то всё понятно. Но, во многих видеороликах, разработчики пишут такой код вручную.
Зачем?
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
DanArst
@DanArst Куратор тега HTML
Гриффиндор в моде при любой погоде!
1) Подробнее тут
Там написано, что
A DOCTYPE must consist of the following components, in this order: string that is an ASCII case-insensitive match for the string !DOCTYPE"...
, то бишь без учета регистра

2) Во-первых, en, а не eng. Во-вторых, имхо глупо объявлять основной язык страницы английским, когда на деле весь контент, условно, на русском. Почитайте для чего его(язык) указывают и поймете, что так, как в вашем вопросе, делают только "опытные" разработчики.

3) Браузер загружает HTML постепенно и, если он видит тег script, то он должен выполнить его и только после этого загружать контент, находящийся после. Чтобы частично избежать задержки показа контента, скрипты помещают в конец страницы. Заметьте, это только частично решает проблему, если скриптов не много и они не тяжеловесные. Далее советую почитать про атрибуты async и defer и разницу между ними.

4) По стандарту HTML5 одиночные теги закрывать не нужно, это спецификация XHTML. Но валидатор на это ругаться не будет, так что тут уж как душе хочется.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы