Закрывающий тег HTML - PullRequest
       1

Закрывающий тег HTML

5 голосов
/ 31 августа 2011

Когда уместно использовать закрывающий тег, а когда достаточно косой черты?

<div></div>

против.

<div />

Ответы [ 5 ]

4 голосов
/ 31 августа 2011

Закрывающий тег необходим для элементов, которые (могут) содержать что-либо, например div, a и body.

Косой черты достаточно для элементов, которые состоят только из самого элемента, таких как img, link и br.

3 голосов
/ 31 августа 2011

Вы можете использовать только самозакрывающийся тег <div />, если для вашего DOCTYPE установлено значение XHTML, поскольку это заимствовано из XML, где вы можете иметь самозакрывающиеся теги.Вы не можете получить его, если для вашего DOCTYPE установлено значение HTML 4.01 или HTML 5.

http://www.w3.org/TR/xhtml1/

Я не уверен, что именно вам нужен именно этот вариант использования, но если это дляочистив поплавки, вы можете сделать это вместо этого и не беспокоиться о проблемах совместимости, особенно с IE, если он переходит в режим эмуляции.

<style type="text/css">
.clear-fix {
    clear: both !important;
    display: block !important;
    font-size: 0 !important;
    line-height: 0 !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
</style>
<br class="clear-fix" />
1 голос
/ 31 августа 2011

Если вы посмотрите на HTML DTD (строгое 4.01, поскольку 5 dtd все еще находится в процессе и еще не выпущено), вы увидите, что некоторые элементы определены с EMPTY означает, что эти могут быть самозакрывающимися. Элементы, которые не имеют этого определения, не могут быть самозакрывающимися.

Например, элемент br:

<!ELEMENT BR - O EMPTY                 -- forced line break -->

Элемент div не определен таким образом, поэтому никогда не имеет права иметь самозакрывающийся div.

<!ELEMENT DIV - - (%flow;)*            -- generic language/style container -->
1 голос
/ 31 августа 2011

Разница в том, что если вы не используете закрывающий тег, вы сможете установить только атрибуты тега.

Если вам нужен какой-то контент внутри, вам нужен как открывающий, так и закрывающий тег с содержимым между ними.

Например, если вам нужно пропустить строку, используя <br/>, технически вы также можете использовать <br></br>, но никто не использует его таким образом, так как пропуск строки никогда не будет иметь ничего между ними.

В случае <div> у вас, вероятно, будет много содержимого, и в конце нужен закрывающий тег.

0 голосов
/ 31 августа 2011

Если элемент самодостаточен и имеет все, что ему нужно для визуализации, без каких-либо innerHTML, тогда вы можете использовать сокращение <hr />, в противном случае вы должны использовать

 <div> InnerHTML here </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...