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.