私がこのHTMLを持っているとしましょう:
<h3>Features</h3>
<ul>
<li><img src="alphaball.png">Smells Good</li>
<li><img src="alphaball.png">Tastes Great</li>
<li><img src="alphaball.png">Delicious</li>
<li><img src="alphaball.png">Wholesome</li>
<li><img src="alphaball.png">Eats Children</li>
<li><img src="alphaball.png">Yo' Mama</li>
</ul>
そしてこのCSS:
li { text-align:center; display:inline-block; padding:0.1em 1em }
img { width:64px; display:block; margin:0 auto }
結果はここで見ることができます:http : //jsfiddle.net/YMN7U/1/
これを3つの列に分割したいとします<br>
。3番目の列の後にaを注入するのと同じこと<li>
です。(実際にそれを行うと、意味的および構文的に無効になります。)
<li>
CSSで3番目を選択する方法を知っていますが、その後に改行を強制するにはどうすればよいですか?これは動作しません:
li:nth-child(4):after { content:"xxx"; display:block }
この特定のケースがのfloat
代わりにを使用して可能であることも知っていますがinline-block
、を使用したソリューションには興味がありませんfloat
。また、固定幅ブロックでは、親の幅をul
その幅の約3倍に設定することでこれが可能であることも知っています。このソリューションには興味がありません。また、display:table-cell
実際の列が必要な場合に使用できることも知っています。このソリューションには興味がありません。インラインコンテンツ内で強制的に中断する可能性に興味があります。
編集:明確にするために、私は特定の問題の解決策ではなく、「理論」に興味があります。CSSはdisplay:inline(-block)?
要素の途中で改行を挿入できますか、それとも不可能ですか?不可能だと確信しているなら、それは許容できる答えです。