0

显然,HTML5 明确规定<br>必须在元素的内容中使用标签,例如在下面的<p>标签中:

<p> Line 1 <br> Line 2 </p>

但是,我认为 HTML 4.01 并非如此。因此,似乎也可以以<br>这种方式使用标签来强制换行:

Line 1 <br> Line 2 <br> ..

有人可以根据这两个标准确认我在这里的真实或不真实吗?

4

3 回答 3

0

br元素的 HTML5 CR 描述说:“br 元素必须仅用于实际上是内容一部分的换行符,例如在诗歌或地址中。” 它还说:“不得使用 br 元素来分隔段落中的主题组”,并举例说明了将表单字段放在单独的行上。这是相当模糊的,但似乎只用于作为文本一部分的br换行符,而不是仅用于格式化内容。

与文档正文中的其他元素相比,没有要求br元素只能在“元素的内容内”使用。出于必要,正文中的任何内容都在body元素内部(即使省略了<body>and</body>标记)。HTML5 不需要任何包装器,就像pHTML 4.01 需要的那样。

以下是有效的 HTML5:

<!document html>
<title> </title>
SPLENDOR of ended day, floating and filling me!<br>
Hour prophetic—hour resuming the past!<br>
Inflating my throat—you, divine average!<br>
You, Earth and Life, till the last ray gleams, I sing. 

请注意,HTML5 正在进行中。它很可能会从 CR 状态升级为 W3C 推荐标准,或“标准”,并进行细微的更改。但是,诸如关于“实际上是内容的一部分”的令人毛骨悚然的“语义”陈述很可能会被改变。

于 2013-09-13T09:22:05.193 回答
0

http://www.w3.org/TR/html4/struct/global.html#h-7.5.1说:

<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->

%block解析为:

<!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 的迹象,因此在 HTML 4 中,您还需要在段落或其他合适的元素中放置换行符。


HTML 4.01 Transitional 是不同的……但是为什么要首先担心旧标准呢?制定新标准的目的是改进旧标准并修复没有意义的部分。

于 2013-09-13T06:54:15.983 回答
0

您可以在网页的任何位置使用 br 标签。

此处描述了允许的父元素:(短语内容)https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories?redirectlocale=en-US&redirectslug=HTML%2FContent_categories#Phrasing_content

于 2013-09-13T08:08:55.297 回答