Почему контент, размещенный после `</html>`, отображается в браузере? - PullRequest
1 голос
/ 18 января 2012

Я попытался сохранить текст, который мог бы использовать позже после тега </html> моего документа (как я обычно делаю с \end{document} в LaTeX), но браузер все еще показывает текст.

Этобыло ли мое понимание того, что страница определяется тем, что находится между <html> и </html>, так почему же отображаются вещи за пределами </html>?

Ответы [ 3 ]

13 голосов
/ 18 января 2012

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

Если вы действительно хотите сохранить в документе помехи, поместите их в комментарий xml / sgml: <!-- this is a comment -->

6 голосов
/ 18 января 2012

HTML - это язык разметки .В частности, это набор стандартов, которым веб-страницы должны следовать, чтобы отображать контент и сделать его более логичным для конечного пользователя, ботов и т. Д. Весь контент предполагается должен содержаться в теге <html>, чтобы соответствовал стандартам .Однако браузер больше беспокоится об отображении контента, поэтому они будут отображать ваши элементы независимо от того, находятся они внутри элемента или нет, просто потому, что они есть.

Главное, о чем вам нужно беспокоиться, это на самом делеСледуйте стандартам и убедитесь, что ваши элементы находятся там, где им разрешено.Размещение вещей в случайных местах, просто чтобы посмотреть, работают ли они, скорее всего, приведет к их работе.Но то, что все работает, не означает, что это семантически правильно и соответствует стандартам.

2 голосов
/ 18 января 2012

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

<div style="display:none"">Text</div>
...