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>