CSS自学笔记(15):CSS3多列布局

在CSS3中,也新增了一些关于文本布局的几个比较简单的属性。通过这些新增的属性,我们可以对文本进行简单的排版,就想报纸和杂志那样。

新增的部分属性,以及浏览器支持情况:

属性浏览器支持
column-count IE Firefox(-moz-) Chrome(-webkit-) Safari(-webkit-) Opera
column-gap IE Firefox(-moz-) Chrome(-webkit-) Safari(-webkit-) Opera
column-rule IE Firefox(-moz-) Chrome(-webkit-) Safari(-webkit-) Opera

注:

  • 在Firefox浏览器中,要加(-moz-)前缀。
  • 在Chrome和Safari浏览器中,要加(-webkit-)前缀。
  • 对于IE浏览器,只支持IE10以及以上版本。

新增的属性以及描述:

属性描述
column-count 定义元素应该被分隔的列数
column-fill 定义列的填充方式
column-gap 定义列之间的间隔距离
column-rule column-rule属性的简写属性,定义列之间的规则
column-rule-color 定义列之间的规则颜色
column-rule-style 定义列之间的规则样式
column-rule-width 定义列之间的规则宽度
column-span 定义元素应该横跨的列数
column-width 定义列的宽度
columns column-width 和 column-count 的简写属性

通过这几个新增属性的定义,我可以对文本进行简单的排版(Firefox浏览器)

*{
	-moz-column-count: 3;
	-moz-column-gap: 40px;
	-moz-column-rule: 4px outset #ff0000;"
}

上面的CSS样式是元素中的文本分为3列,列之间的距离为40px,列之间用颜色为#ff0000、宽度为4px的线分开。

同样,我们也可以对一些元素中的内容进行排版。

例如我们可以对列表进行排版:

部分代码为(Firefox浏览器):

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
ul {
	-moz-column-count: 3;
	-moz-column-gap: 40px;
	-moz-column-rule: 4px outset #ff0000;
}
li {
	background: #0CF;
	border: #069 1px solid;
	display: inline-block;
	width: 150px;
	margin: 5px 0;
}
</style>
</head>
<body>

<ul>
	<li style="height:50px">1</li>
	<li style="height:100px">2</li>
	<li style="height:80px">3</li>
	<li style="height:60px">4</li>
	<li style="height:70px">5</li>
	<li style="height:50px">6</li>
	<li style="height:100px">7</li>
	<li style="height:80px">8</li>
	<li style="height:90px">9</li>
	<li style="height:30px">10</li>
</ul>
</body>
</html>

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。