Это потому, что SCRIPT TAG не является недействительным элементом.
В HTML-документе - НЕПРАВИЛЬНЫЕ ЭЛЕМЕНТЫ не нуждаются в "закрывающем теге" вообще!
В xhtml все является универсальным, поэтому всем им требуется завершение, например. «закрывающий тег»; Включая br, простой перенос строки, как <br></br>
или его сокращение <br />
.
Однако элемент сценария никогда не является пустым или параметрическим элементом, потому что тег сценария прежде всего является инструкцией браузера, а не объявлением описания данных.
В принципе, инструкция семантического завершения, например «закрывающий тег», необходима только для инструкций обработки, семантика которых не может быть завершена последующим тегом. Например:
Семантика <H1>
не может быть прервана следующей <P>
, потому что она не несет достаточного количества собственной семантики для переопределения и, следовательно, завершения предыдущего набора инструкций H1. Хотя он сможет разбить поток на новую строку абзаца, он не «достаточно силен», чтобы переопределить текущий размер шрифта и стиль line-height , перетекающий в поток em >, т.е. утечка из H1 (потому что у P его нет).
Вот как и почему была изобретена сигнализация «/» (завершение).
Универсального тега завершения no-description, такого как < />
, было бы достаточно для любого единственного падения с обнаруженного каскада, например: <H1>Title< />
, но это не всегда так, потому что мы также хотим иметь возможность "вложения" , множественная промежуточная маркировка потока: разделение на торренты перед переносом / переходом в другой каскад. Как следствие, универсальный терминатор, такой как < />
, не сможет определить цель свойства для завершения. Например: <b>
полужирный <i>
полужирный курсив < />
курсив </>
normal. Несомненно, не смог бы правильно понять наше намерение и, скорее всего, интерпретировал бы его как нормальный полужирный полужирный курсив полужирный.
Так родилось понятие обертки, т. Е. Контейнера. (Эти понятия настолько похожи, что их невозможно различить, и иногда один и тот же элемент может иметь и то, и другое. <H1>
одновременно является и оболочкой, и контейнером. В то время как <B>
только семантическая оболочка). Нам понадобится простой контейнер без семантики. И, конечно же, было изобретено DIV Element.
Элемент DIV на самом деле является 2BR-контейнером. Конечно, появление CSS сделало всю ситуацию более странной, чем она могла бы быть в противном случае, и вызвало большую путаницу со многими серьезными последствиями - косвенно!
Поскольку с помощью CSS вы можете легко переопределить собственное поведение BR до и после BR недавно изобретенного DIV, его часто называют «контейнером ничего не делать». Что, естественно, неверно! DIV - это блочные элементы, которые изначально разрывают строку потока как до, так и после сигнализации конца. Вскоре WEB начал страдать от страницы DIV-itis. Большинство из них все еще есть.
Появление CSS с его способностью полностью переопределять и полностью переопределять собственное поведение любого HTML-тега каким-то образом сумело запутать и размыть весь смысл существования HTML ...
Внезапно все HTML-теги оказались устаревшими, они были искажены, лишены всего своего первоначального значения, идентичности и цели. Как-то сложится впечатление, что они больше не нужны. Говоря: одного тега контейнера-обертки будет достаточно для представления всех данных. Просто добавьте необходимые атрибуты. Почему бы вместо этого не использовать значимые теги; Придумывайте имена тегов по ходу дела и позвольте CSS позаботиться обо всем остальном.
Так родился xhtml и, конечно, великий тупой, за который так дорого заплатили новички и искаженное видение того, что есть что, и какова чертова цель всего этого. W3C перешел из всемирной паутины в «Что пошло не так, товарищи?»
Цель HTML - передавать значимые данные человеку-получателю.
Доставить информацию.
Формальная часть предназначена только для ясности доставки информации. xhtml не уделяет ни малейшего внимания информации. - К нему информация абсолютно неактуальна.
Самое важное в этом вопросе - это знать и уметь понимать, что xhtml - это не просто версия какого-то расширенного HTML, xhtml - это совсем другое чудовище; основание; и поэтому разумно хранить их отдельно.
person
Bekim Bacaj
schedule
17.08.2017
<script>
s в<body>
, даже если самозакрывающийся<script>
был в<head>
) - person Trindaz   schedule 10.04.2014<foo />
для самозакрывающихся тегов фактически не существует в HTML. Поведение тегов определяется спецификацией HTML. Веб-браузеры уже знают, например что<img>
и<br>
самозакрываются, а<div>
и<script>
не закрываются, поэтому они не полагаются на наличие или отсутствие/
. - person mwfearnley   schedule 29.09.2019