inline-block
横柱で作りたい。inline-block
コンテンツに合わせて最小数の列として幅を持つ必要があります。
問題は、ブラウザーによる奇妙な列処理です。
div {
height: 10em;
border: 1px solid red;
display: inline-block;
vertical-align: top;
-moz-column-width: 10em;
column-width: 10em;
-moz-column-fill: auto;
column-fill: auto;
}
<div>
<p>Lorem ipsum dolor sit amet, an nec posse homero accumsan. Pro sale deseruisse ad. Vix cu integre fuisset insolens. Quo perfecto pericula ex. Te nam tritani honestatis, eam integre virtute ut.</p>
<p>Cum an autem affert laoreet, ea ius falli impedit ocurreret. No duo aperiam perfecto lobortis, ut mea aliquid graecis, te has facete sententiae. Ut singulis laboramus his, meis laoreet docendi ius ad. Duo nisl alterum perfecto no, eum in etiam laboramus prodesset, rebum nobis nusquam in sit. Usu at expetendis consectetuer.</p>
</div>
<div>
<p>Lorem ipsum dolor sit amet, an nec posse homero accumsan. Pro sale deseruisse ad. Vix cu integre fuisset insolens. Quo perfecto pericula ex. Te nam tritani honestatis, eam integre virtute ut.</p>
</div>
<div>
<p>Lorem ipsum dolor sit amet, an nec posse homero accumsan.</p>
</div>
<div>
<p>Lorem ipsum</p>
</div>
Chromeは、おそらく列なしで幅を決定し、列を領域に配置します。最初のブロックには、1 列分の余分なスペースがあります。他のブロックは 1 列の幅を持つことができますが、それらはすべて異なる幅です。
Firefoxはすべてのブロック幅を 1 列に設定し、thext はそれをオーバーフローさせます。要素またはそのコンテナーのいずれかにスクロールバーを強制することはできますが、それらのいずれも正しい幅にすることはできません。
Chrome を Firefox のように動作させるハックがありますが、問題の解決には役立ちません。
div {
height: 10em;
border: 1px solid red;
display: inline-block;
vertical-align: top;
-moz-column-width: 10em;
column-width: 10em;
-moz-column-fill: auto;
column-fill: auto;
/* chrome to firefox */
width: -webkit-min-content;
width: min-content;
min-width: 10em;
}
<div>
<p>Lorem ipsum dolor sit amet, an nec posse homero accumsan. Pro sale deseruisse ad. Vix cu integre fuisset insolens. Quo perfecto pericula ex. Te nam tritani honestatis, eam integre virtute ut.</p>
<p>Cum an autem affert laoreet, ea ius falli impedit ocurreret. No duo aperiam perfecto lobortis, ut mea aliquid graecis, te has facete sententiae. Ut singulis laboramus his, meis laoreet docendi ius ad. Duo nisl alterum perfecto no, eum in etiam laboramus prodesset, rebum nobis nusquam in sit. Usu at expetendis consectetuer.</p>
</div>
<div>
<p>Lorem ipsum dolor sit amet, an nec posse homero accumsan. Pro sale deseruisse ad. Vix cu integre fuisset insolens. Quo perfecto pericula ex. Te nam tritani honestatis, eam integre virtute ut.</p>
</div>
<div>
<p>Lorem ipsum dolor sit amet, an nec posse homero accumsan.</p>
</div>
<div>
<p>Lorem ipsum</p>
</div>
実際には、次のようなものを取得する必要があります。
PS:ロシア語で同じ質問。