Das Seitenverhältnis des Bildes im Bild
P粉557957970
2023-08-17 20:24:04
<p>Ich habe ein Bild mit einer Bildunterschrift wie dieser: </p>
<pre class="brush:php;toolbar:false;"><figure>
<img src="image.jpg"/>
<figcaption>title</figcaption>
</figure></pre>
<p>Ich habe auch <code>img{max-width:100%}</code> </p>
<p>Ich möchte sowohl die Breite als auch die Höhe eines Bildes festlegen und sein Seitenverhältnis beibehalten, wenn die Breite unter den eingestellten Wert sinkt. Also habe ich Code wie diesen ausprobiert: </p>
<pre class="brush:php;toolbar:false;"><figure>
<img src="image.jpg" width="100" height="200" style="object-fit:contain"/>
<figcaption>title</figcaption>
</figure></pre>
<p>Das ist ungefähr das, was ich möchte, aber wenn das Bild „Letterbox“ ist, ist der Titel ziemlich weit vom unteren Rand des Bildes entfernt. </p>
<p>Gibt es eine Möglichkeit, die gewünschten Ergebnisse zu erzielen und gleichzeitig den Titel am unteren Rand des Bildes zu belassen? </p>
如果您正在使用
object-fit: contain
,那么图像的原始宽高比已经被保留,因为整个图像必须适应其父元素。所以,如果图像原始宽度为100px,高度为150px,并且您将图像设置为width: 100px
和height: 200px
,图像的高度仍然为150px,但是在figure
元素的顶部和底部会添加额外的25px的空间。要解决这个问题,您只需要将高度设置为“auto”。
现在,如果您实际上想要定义宽度和高度,并强制图像符合这些尺寸,您应该使用除
object-fit: contain
之外的其他方法。您可以在这里了解其他选项,但也许您想设置figure
元素的宽度/高度并让图像填充该空间。在这种情况下,您可以这样做: