【问题标题】:question regarding img tag in html关于html中img标签的问题
【发布时间】:2011-09-18 12:32:28
【问题描述】:

<img> 标签应该被包裹在

标签中还是可以不使用

标签直接使用?

【问题讨论】:

  • 您是在问 img 标签是否必须包装在另一个标签中?从你的问题看不清楚。

标签: html css image


【解决方案1】:

<img> 是一个inline element,因此需要放在块级元素内进行验证。

<p><div><h1><li> 之类的就足够了。

内联元素不能直接放在body元素内部;它们必须完全嵌套在块级元素中。

【讨论】:

  • 只是为了向 OP 澄清,上面的意思是 img 可以在块元素内的任何地方。块元素不需要像<p><img></p> 那样“直接”包装。如果你的页面上有一个包装器 div,我猜一切都在块级元素中。
【解决方案2】:

根据 HTML 4.01 规范,IMG 标签可以出现在任何允许 %inline 元素的元素内,这意味着它不能直接在

标签内,但它很可能在
标签内而不是

-标签。

编辑: 这意味着 img 标签可以在任何块级标签内(div、p、li、...)

【讨论】:

    【解决方案3】:

    我还不能评论或投票,但 Younes 的回答是错误的。你不能像这样写一个图像标签:

    <img src=""> </img>
    

    此外,查找 HTML 标签允许和不允许的内容的最佳位置,最佳来源是 W3C 网站上提供的实际规范。这是 HTML 4.01 的 img 标签的链接:

    http://www.w3.org/TR/html4/struct/objects.html#h-13.2

    这里是显示 HTML 4.01 和 XHTML 1.0 之间差异的链接(这就是来源:

    http://www.w3.org/TR/xhtml1/#diffs

    一般来说,img 可以被大多数容器标签包裹(有些例外,比如 pre,确实存在),但这不是必需的。如果您试图使您的 HTML 语义化,那么大多数情况下,将 img 放在段落标签中是没有意义的,但将其放入 div 中可能是有意义的。

    【讨论】:

      【解决方案4】:

      如果你想让它像块一样有用

      .somewhere img
      {
          display:block;
      }
      

      很好。 (如上所述,它需要是块级元素的后代,但显然可以高于任何级别,因此您不需要一直这样做:

       <div><img></div>
      

      如果图片周围有链接,则可以对 a 元素执行与上述相同的 display:block 操作。

       a.somewhere, a.somewhere img
       {
          display:block;
       }
      

      【讨论】:

      • 你用这种方式让它显示为一个块,但它仍然不是一个块级元素,这意味着即使你将它设置为块,你也不能直接在 &lt;body&gt; 中使用 img (但是您已经注意到这一点,我只是在评论之前没有阅读全部内容)
      • 是的,正如您所指出的,如果您有一个像 &lt;body&gt;&lt;div id='wrapper'&gt;CONTENT&lt;/div&gt;&lt;/body&gt; 这样的包装 div,那么块级问题几乎没有实际意义,因为您的所有内容都在包装 div 内。
      猜你喜欢
      • 2011-03-07
      • 1970-01-01
      • 2011-05-12
      • 2016-04-21
      • 2017-07-21
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 2011-01-10
      相关资源
      最近更新 更多