Расположение столбцов в HTML (5)/CSS
Есть ли способ в HTML5/CSS иметь столбцы, как показано ниже, и по-прежнему иметь текстовый поток правильно?
###### ######
# C1 # # C2 #
# # # #
###### ######
###### ######
# C3 # # C4 #
# # # #
###### ######
###### ######
# C5 # # C6 #
# # # #
###### ######
Просто для уточнения - я хочу, чтобы иметь возможность писать весь текст в пределах одного элемента и CSS создавать столбцы.
Ответы
Ответ 1
Хотя это использует один единственный элемент, но разрывы должны быть определены вручную.
Используйте свойство column-span и используйте элемент, например <br />
, чтобы определить вертикальные точки останова. Содержимое будет выглядеть и отображаться примерно так:
<p>
CSS3 multi
<br/>
columns are
<br />
just awesome.
</p>
CSS3 | multi
-----------------
columns | are
-----------------
just | awesome
CSS выглядит так:
p {
column-count: 2;
column-rule: 1em solid black;
}
br {
column-span: all;
}
Добавьте соответствующие браузеру префиксы (-webkit, -moz). column-span
может не поддерживаться никакими браузерами на сегодняшний день. Подробнее см. статью. Здесь моя слабая попытка, которая не работала в Chrome.
Ответ 2
Если вы используете HTML5, я предполагаю, что вы тоже используете CSS3:
<style>
.columns{
-webkit-column-count: 2;
-webkit-column-rule: 0px;
-moz-column-count: 2;
-moz-column-rule: 0px;
}
</style>
<div class="containter">
<div class="columns">
<div>C1</div>
<div>C2</div>
</div>
<div class="columns">
<div>C3</div>
<div>C4</div>
</div>
<div class="columns">
<div>C5</div>
<div>C6</div>
</div>
</div>
...
Но, честно говоря, я думаю, что вам лучше всего плавать 6 divs в коробке, вдвое превышающей ширину div:
<style>
.containter{
width: 300px;
}
.containter div{
width: 150px;
float: left;
}
</style>
<div class="containter">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
Ответ 3
Для решения NO CSS3 используйте плагин jQuery:
http://welcome.totheinter.net/columnizer-jquery-plugin/
Пример: http://welcome.totheinter.net/autocolumn/sample1.html
Он работает для IE6 +, FF2 +, сафари, хром, опера:)