0

曾经有人告诉我,html 中的“img”标签必须嵌套在诸如 p 标签之类的元素中。这是真的?还是被误导了?

<p><img src "img/mittromneylittleface.png" alt="drinks" /></p>
4

1 回答 1

6

好吧,如果您曾经被告知过,那么您是在 HTML 4 的上下文中被告知的。请在此处查看 HTML 4 Strict 的 DTD 。

您将看到这IMG是一个%inline元素,但 HTMLBODY元素只能包含%blockSCRIPTINSDEL元素:

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

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

所以如果你想验证 HTML 4 strict,你肯定应该包含IMG里面的 aP或类似的。在验证器上试一下,你会看到:

文档类型在此处不允许元素“IMG”;缺少“P”、“H1”、“H2”、“H3”、“H4”、“H5”、“H6”、“DIV”、“ADDRESS”开始标签之一

现在,在 HTML 5 中,您可以img元素正下方放置一个body元素。在此处body查看元素的定义。它说元素的内容模型是:body

流量内容

如果您查找 Flow 内容,您将看到这img是允许的!

于 2012-10-25T03:05:12.700 回答