block要素をinline-block要素っぽく扱う方法
fit-contentを使うことで、block要素でも中身のサイズに合わせてwidthが変わる。(FigmaのHugコンテンツ的な感じ、しらんけど)
<div class="container">
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
</div>
<style>
.item {
width: fit-content;
}
</style>
inline-blockとfit-contentの違い
inline-blockを使えば中身にあわせてwidthが変わってくれるけどinline(横並び)になってしまうinline-blockのまま縦並びにするためにflexboxでflex-direction: columnをするとwidthが親コンテンツいっぱいに広がってしまう- 解消するには
widthを指定する orflex-grow/shrink/basisなどを指定するなどわりと面倒
- 解消するには
block要素として使いたいけど、widthは子要素によって変わってほしいというときに fit-contentが活躍する。
デモ
block block block
max-content max-content max-content
min-content min-content min-content
fit-content fit-content fit-content