У мене є текст в <pre>
це майже робить те, що я хочу column-count
і медіа-запити.
http://jsfiddle.net/tbhtrL0f/11/ (змініть розмір області результатів, щоб побачити 1/2/3 стовпців)
Є кілька речей, про які я хотів би змінити, але не знаю, як:
- Замість того, щоб робити кількість стовпців на основі медіа-запиту, я краще додати новий стовпець, коли для цього достатньо горизонтального простору (без переповнення).
- Я хотів би переважно розбити де два поверхи підряд.
Є / обидві ці зміни можливі з чистою CSS?
Відповіді:
1 для відповіді № 1Ваше перше запитання можна виконати, але другий вимагає певної розмітки.
Ви можете встановити ширину стовпчика замість:
column-width: 20em
(або будь-яка ширина, яка підходить для вашого дизайну). Це означає, що стовпчик буде принаймні таким самим широким (якщо тільки містячий блок ще не набагато вужчий), а нові стовпці будуть додані, якщо потрібно, до тих пір, поки вони підходять до цього мінімального значення. Отже, ніяких медіа запитів не потрібно. Ви могли б також об'єднатиcolumn-width
іcolumn-count
, що означає, що кількість стовпців - це максимальна кількість дозволених стовпчиків. Нарешті, там єcolumns
скорочення, що дозволяє встановити обидва одночасно:columns: 20em 4;
Там є
break-before
/break-after
іbreak-inside
властивості, і вони можуть бути застосовані до елементи в межах макета колонок, але не до пробілів. Я використовую JS для виявлення деяких певних просторів і ін'єкцій, щоб сплеснутися. Крім того, якщо я правильно пам'ятаю, властивості пробілу стовпців не підтримуються, але я не можу знайти посилання на це прямо зараз. .