Синтаксис действителен в некоторых местах, но не означает того же, что и в XHTML, поэтому не используйте их.
В HTML 4 <foo />
(где foo — имя элемента, определенного как EMPTY) означает то же, что и <foo>>
, что означает то же, что и <foo>>
(хотя почти ни один браузер не поддерживает синтаксис правильно, Emacs-W3 использовал, но нарушил совместимость со стандартом в пользу правильного отображения так называемых HTML-совместимых документов XHTML 1.0).
Следовательно, это допустимо в местах, где вы можете иметь >
, например, везде, где вам разрешено <img>
, но не в других местах (например, <hr>
, который является дочерним элементом <body>
(в Strict)).
Взаимодействие с правилами для необязательных начальных и конечных тегов добавляет сложности. В переходном документе это действительно:
<link …/>
<h1>Hello, world</h1>
и означает:
<link>
</head>
<body>
>
<h1>Hello, world</h1>
Этот сокращенный синтаксис может быть полезен или, по крайней мере, сэкономит время для таких вещей, как:
<title/The quick brown fox/
вместо более подробного:
<title>The quick brown fox</title>
… но синтаксис никогда не поддерживался должным образом и спецификация говорит, что этого следует избегать.
person
Quentin
schedule
08.07.2010