我们可以直接在<div>?</div>中包含内容文本

时间:2009-11-02 10:05:17

标签: xhtml

我们可以直接在<div>text content</div>中提供内容文字,还是应该像<div><p>text content</p></div>一样?根据网络标准。

6 个答案:

答案 0 :(得分:6)

您可以直接在div元素中包含字符数据。如果(且仅当)该字符数据是段落,那么它也应该被标记为段落(根据您的第二个示例)。如果你在div中只有一段内容,那么你通常应该避免使用div元素,因为它没有用处。

答案 1 :(得分:2)

可以直接在div中拥有它。 div通常用于对块元素进行分组以使用样式对其进行格式化,但div中的正常,未标记文本就可以了。

答案 2 :(得分:1)

标准没有那么明确。我会选择你的第二个例子,因为它在结构上更合理,因此更具语义性。

答案 3 :(得分:1)

是的,您可以直接将内容文本添加到div标签中,但在大多数情况下使用p标签会更好。

答案 4 :(得分:0)

来自html 4 strict DTD,从技术上讲,W3C说。

    HTML has two basic content models:

        %inline;     character level elements and text strings
        %block;      block-like elements e.g. paragraphs and lists


<!ENTITY % block
     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
      BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">

<!ENTITY % flow "%block; | %inline;">


<!ELEMENT DIV - - (%flow;)*            -- generic language/style container -->

转换为&#34; DIV可以包含任何%流量实体&#34; 流量实体可以是内容模型%block %inline ,如上所示是%inline&#34;字符级元素和文本字符串&#34;因此,DIV可以直接包含<!ENTITY % block ...

中定义的字符串或元素

和%标题,%列表,%预先格式化当然会进一步翻译,因为它们又是实体ex。 <!ENTITY % list "UL | OL">

答案 5 :(得分:0)

屏幕阅读器似乎可以处理 html <div>phrasing content</div>html <div><<p>phrasing content</p></div>

在某些情况下有所不同。

似乎可以包含流内容的元素和可以包含短语内容的元素的规则不同。