My guess is that <br>
might be inline and that <hr>
might be block. But I don't really have a clue...
views:
542answers:
4The HR
element is defined to be element of block. It’s also being displayed in its own line like any other block element. Thus HR
is a block element.
The BR
element is defined to be element of special and that is defined to be inline. It’s also not being displayed in its own like like a block element, but just creating a line break. Thus BR
is an inline element.
BR is an inline element, and has been deprecated in XHTML 2 in favor of LINE. (All academic at this point, of course...)
HR was a block element, but was deprecated in HTML 4.01 and is not part of the XHTML 1.0 Strict DTD.
According to the HTML 4.0 Strict DTD:
<HR />
is a block-level element and <BR />
is an inline element.
All the block-level elements are defined in the DTD thus:
<!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">
The rest are inline by default. Of course, a BR does force a line-break so acts similar to a block level element, but that doesn't mean it is.