画像とキャプションを<figure>
要素と<figcaption>
要素を使用してマークアップした場合、画像とキャプションの幅が揃わないことがあります。
そのようなケースで、画像とキャプションの幅を揃えたければ、以下のコードをCSSで<figure>
要素と<figcaption>
要素に設定すれば対応できます。
コード例
CSS
figure {
display: table;
}
figcaption {
caption-side: bottom;
display: table-caption;
}
解説
<figure>
要素のdisplay
プロパティの値をtable
にします。table
にすることで<figure>
要素の幅が中身に合うようになります。
<figcaption>
要素のdisplay
プロパティの値をtable-caption
にします。この設定をしないと、画像の幅よりもキャプションが長い場合、キャプションの長さが<figure>
要素の幅になるので、キャプションは画像の幅と揃いません。
<figcaption>
要素のcaption-side
プロパティの値をbottom
にします。caption-side
プロパティは初期値がtop
なので、この設定をしないとキャプションは画像の上に表示されます。
<figure>
要素をセンター揃えにしたい場合は、margin-left
プロパティとmargin-right
プロパティの値をauto
に設定します。