Кто бы хотел сделать веб-приложение, которое работает только в нескольких браузерах?

тим, у меня есть этот 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/

Теперь представьте, что я хочу разбить это на три столбца, что эквивалентно<br> после третьего<li>. (На самом деле выполнение этого будет семантически и синтаксически недопустимым.)

Я знаю, как выбрать третий<li> в CSS, но как заставить разрыв строки после него? Это не работает:

li:nth-child(4):after { content:"xxx"; display:block }

Я также знаю, что этот конкретный случай возможен с помощьюfloat вместоinline-block, но я не заинтересован в использовании решенийfloat, Я также знаю, что с блоками фиксированной ширины это возможно, установив ширину родительского блокаul примерно в 3 раза больше этой ширины; Я не заинтересован в этом решении. Я также знаю, что я мог бы использоватьdisplay:table-cell если бы я хотел настоящие колонки; Я не заинтересован в этом решении. Меня интересует возможность принудительного перерыва внутри встроенного контента.

редактировать: Чтобы быть ясным, меня интересует «теория», а не решение конкретной проблемы.Может ли CSS ввести разрыв строки в серединеdisplay:inline(-block)? элементы, или это невозможно? Если вы уверены, что это невозможно, это приемлемый ответ.

Ответы на вопрос(9)

Ваш ответ на вопрос