为什么要将 <img> 放入容器中(例如 <div>)?

Why put an <img> inside a container (like a <div>, for instance)?

我只是在学习编码,一直在到处寻找关于这个问题的答案,但由于某种原因找不到任何东西。

我注意到将图像放入容器或包装器中似乎是一种常见的做法。例如,而只是拥有:

<img src="url"/>

大家似乎都同意需要这样:

<div class="container">
<img=src"url"/>
</div>

以这种方式将 img 包装在 div 中的目的是什么?它似乎与 "responsive design" 有关,但我不是 100% 确定。是否只是为了让我们有一些东西来调整图像的大小,而不是像 css 中的图像选择器上的像素那样使用确定的大小?我在写这篇文章时考虑得越多,就越觉得它是正确的答案,但我不确定是否还有其他我在这个问题上遗漏的东西。

任何见解将不胜感激。谢谢。

不幸的是,没有“唯一”的正确答案。 关于为什么将任何元素包装在另一个元素中的原因可能有很多,它并不特定于 <img /> 标签 :)

在你的问题中,我读到了这样的内容(转换为现实世界的例子):

I see that it is common practice to put a frame around a photo.

其中“框架”是包装元素,照片是 <img />

这样看可能会更清楚。照片是最重要的部分,从技术上讲,您不需要框架来显示照片。如果你只有一张照片,你就不能把它挂在墙上而不损坏它,方法是在顶部钉钉子或贴上胶带。如果你有一个相框,你可以让那张照片占据其中任意数量的可用空间 space,你可以使用夹子将它挂在墙上,如果你将多张照片放在相框中,你可以移动因为它们在同一帧中,所以它们一次全部出现。

大多数人将该图像放在“容器”中的原因是因为与单独使用图像相比,他们从中获得了某种优势,范围从宽高比锁定到相对定位。在某些情况下,还需要包装器来实现某些(特别是更复杂的)动画。

网站由“逻辑”部分构建而成,这些部分共同构成了一个网站。各个部分都是“框架”,它们“流动”在一起以创建您在每个网站上看到的任何页面布局。

这只是一种结构性思维方式,如果该图像的目的是用作整个页面的背景图像,更好的选择是使用 CSS background-image 属性 在 <body> 标签上,根本不使用图像。但是,如果图像是您网站的一小部分的一部分,则可能应该适当地包含它。

这个答案绝不是可遵循的指南,也不是规则集或类似的东西,它们只是其他开发人员的想法。包装元素的原因有无数,而这个答案甚至没有涵盖其中的 0.0000001%。我只是说——这里没有具体的理由