使用带有html5的“img”标签

时间:2012-10-25 02:52:45

标签: html

我曾被告知html中的“img”标签必须嵌套在诸如p标签之类的元素中。这是真的?或被误导?

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

1 个答案:

答案 0 :(得分:6)

如果你一旦告诉你,你就会在HTML 4的背景下告诉你。看看HTML 4 Strict here的DTD。

您会看到IMG%inline元素,但HTML BODY元素只能包含%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严格,那么您应该在IMG或类似内容中加入P。在验证器上试一试,你会看到:

  

文档类型不允许元素“IMG”在这里;缺少“P”,“H1”,“H2”,“H3”,“H4”,“H5”,“H6”,“DIV”,“ADDRESS”开始标记

现在,在HTML 5中,可以img元素下面有一个body元素。查看body元素here的定义。它说body元素的内容模型是:

  

流量内容

如果您查找Flow内容,您会看到img被允许!