写真内の画像のアスペクト比
P粉557957970
2023-08-17 20:24:04
<p>次のようなキャプションが付いた画像があります: </p>
<pre class="brush:php;toolbar:false;"><figure>
<img src="image.jpg"/>
<figcaption>タイトル</figcaption>
</figure></pre>
<p>CSS には <code>img{max-width:100%}</code> もあります。 </p>
<p>画像の幅と高さの両方を設定し、幅が設定値を下回った場合でも縦横比を維持したいと考えています。そこで、次のようなコードを試してみました。 </p>
<pre class="brush:php;toolbar:false;"><figure>
<img src="image.jpg" width="100" height="200" style="object-fit:contain"/>
<figcaption>タイトル</figcaption>
</figure></pre>
<p>これはおおよその希望通りですが、画像が「レターボックス化」されている場合、タイトルは画像の下部からかなり離れています。 </p>
<p>タイトルを画像の下部にぴったりと合わせたまま、希望の結果を得る方法はありますか? </p>
object-fit: contain
を使用している場合は、画像全体が親要素に収まる必要があるため、画像の元のアスペクト比がすでに保持されています。したがって、画像の元の幅が 100px、高さが 150px で、画像をwidth: 100px
およびheight: 200px
に設定した場合、画像の高さはそのままになります。 150 ピクセル、ただし ## 内 #figure要素の上部と下部にさらに 25 ピクセルのスペースが追加されます。
リーリー
ここで、実際に幅と高さを定義し、画像をそれらの寸法に強制的に適合させたい場合は、object-fit: contains
以外のものを使用する必要があります。他のオプションについては
こちら をご覧ください。ただし、figure要素の幅/高さを設定し、そのスペースを画像で埋めたい場合もあります。この場合、次のようにすることができます:
リーリー