Каковы все допустимые самозакрывающиеся элементы (например, <br/>) в XHTML (как реализовано в основных браузерах)?
Я знаю, что XHTML технически позволяет самозакрывать любой элемент, но я ищу список тех элементов, которые поддерживаются всеми основными браузерами. См. Http://dusan.fora.si/blog/self-closing-tags для примеров некоторых проблем, вызванных самозакрывающимися элементами, такими как <div />.
html
xhtml
browser
cross-browser
kamens
источник
источник
Ответы:
Каждый браузер, поддерживающий XHTML (Firefox, Opera, Safari, IE9 ), поддерживает самозакрывающийся синтаксис для каждого элемента .
<div/>
,<script/>
,<br></br>
Все должно работать нормально. Если они этого не делают, то у вас есть HTML с неправильно добавленным XHTML DOCTYPE.DOCTYPE не меняет способ интерпретации документа. Только MIME-тип .
Решение W3C об игнорировании DOCTYPE :
Это очень распространенная ошибка, поскольку W3C Validator в значительной степени игнорирует это правило, но браузеры следуют ему неукоснительно. Прочитайте статью Понимание HTML, XML и XHTML из блога WebKit:
Чтобы проверить, есть ли у вас настоящий XHTML или недействительный HTML с DOCTYPE XHTML, поместите это в свой документ:
Это проверяет, и в реальном XHTML это работает отлично (см .: 1 против 2 ). Если вы не можете поверить своим глазам (или не знаете, как устанавливать типы MIME), откройте свою страницу через прокси XHTML .
Другой способ проверить это просмотреть исходный код в Firefox. Он выделит косые черты красным цветом, когда они недействительны.
В HTML5 / XHTML5 это не изменилось, и различие еще яснее, потому что у вас даже нет дополнительного
DOCTYPE
.Content-Type
это корольНапомним, что спецификация XHTML позволяет самозакрывающемуся элементу сделать XHTML приложением XML : [выделено мной]
Это также явно показано в спецификации XHTML :
источник
<script>
или<div>
приводит к различной визуализации / интерпретации.text/html
. В реальном XHTML, отправлено, какapplication/xhtml+xml
это работает просто отлично. Пожалуйста, прочитайте статью, на которую я ссылался (или Приложение C спецификации XHTML), перед тем как понизить голосование.application/xhtml+xml
типом MIME я могу гарантировать, что это<script/>
будет работать. С типом MIME. Только.