Ответ 1
<hr>
является элементом уровня блока. И <br>
является встроенным элементом уровня.
Дополнительная ссылка:
Я предполагаю, что <br>
может быть встроенным и что <hr>
может быть блочным. Но на самом деле я понятия не имею...
<hr>
является элементом уровня блока. И <br>
является встроенным элементом уровня.
Дополнительная ссылка:
Элемент HR
определяется как элемент block. Его также отображается в своей строке, как и любой другой элемент . Таким образом, HR
является блочным элементом.
Элемент BR
определяется как элемент special и который определяется как inline. Его также не отображается в своем собственном виде, как блок-элемент, а просто создает разрыв строки. Таким образом, BR
является встроенным элементом.
В соответствии с HTML 4.0 Strict DTD:
<HR />
является элементом уровня блока, а <BR />
является встроенным элементом.
Все элементы уровня блока определены в DTD таким образом:
<!ENTITY % block
"P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!ENTITY % list "UL | OL">
<!ENTITY % preformatted "PRE">
Остальные встроены по умолчанию. Конечно, BR действительно вызывает разрыв строки, поэтому действует подобно элементу уровня блока, но это не значит, что это так.
Спустя годы... Сам HR является частью HTML5, но с большим упором на то, что он является семантическим, а не элементом макета. Поэтому продолжайте использовать его, но создавайте его с помощью CSS.
ЭЛЕМЕНТ HR Устаревший элемент: не рекомендуется использовать и не может использоваться в соответствии с декларацией строгого соответствия. Элемент блока: есть вертикальное пространство до и после элемента. Пустой элемент: существует только один тег:
BR является встроенным элементом и устарел в XHTML 2 в пользу LINE. (Все академические в этот момент, конечно...)
HR был блочным элементом, но был устаревшим в HTML 4.01 и не является частью XHTML 1.0 Strict DTD.