整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端入门-CSS 多列文本

ss 中可以轻松地实现类似报纸上的文字多列排版效果,不需要使用其它技术(如float、flex等)。如下图:

默认效果

多列显示效果

在本章中,您将了解以下多列属性:

  • column-count
  • column-gap
  • column-rule-style
  • column-rule-width
  • column-rule-color
  • column-rule
  • column-span
  • column-width

创建多列文本

使用column-count属性指定一个元素应该分成几列,如下示例:

div {
  column-count: 3;
}

效果:

3列显示

设置列之间的间隙

使用 column-gap 属性指定列之间的间隙,如下示例:

div {
  column-gap: 50px;
}

效果:

每列间隔50px

设置列样式

column-rule-style属性指定列之间分割线的样式,语法如下:

column-rule-style: none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset|initial|inherit;

如下示例:

div {
  column-rule-style: solid;
}

效果:

列分割线样式

column-rule-width 属性指定列之间的分割线宽度,如下示例:

div{
column-rule-width: 10px;
}

效果:

10px宽的分割线

column-rule-color属性指定列之间分割线的颜色,如下示例:

div {
  column-rule-color: lightblue;
}

效果:

淡蓝色分割线

使用column-rule属性设置上述所有 column-rule-* 属性的简写,如下示例:

div {
  column-rule: 10px solid lightblue;
}

指定一个元素跨越多少列

column-span属性指定一个元素应该跨越多少列,语法如下:

column-span: none|all|initial|inherit;

如下示例:

html:

<div>
<h2>标题</h2>
文本....
</div>

css:

div{
	column-count: 3;
  column-gap: 40px;
  column-rule: 1px solid lightblue;
}

没有使用跨列时:

如上图中标题部分显示在第一列中,如果想让标题横跨整行可以使用如下代码:

h2 {
  column-span: all;
}

效果:

标题夸所有列

指定列宽

column-width属性为列指定最佳的宽度,内容会自动根据页面大小调整,语法如下:

column-width: auto|length|initial|inherit;

如下示例:

div{
	column-width: 100px;
}

效果:

columns 属性

columns 指定每列的最小宽度和最大列数,其语法如下:

columns: column-width column-count;

column-width 部分将定义每列的最小宽度,而 column-count 部分将定义最大列数。通过使用此属性,浏览器将自动分解多列布局为窄宽度的单列,无需媒体查询或其他规则。

如下示例:

div{
columns: 100px 3;
}

效果:

注意这里和column-width: 100px的区别,它不会根据宽度自动调整列数,且列最大为3列。

文作为一个纯CSS3实现网格的示例,在不使用table标签,仅仅利用div标签及flex布局,用flexbox及相关属性来实现一个带有表头和页眉的跨行、跨列的表格。

废话不多讲,直接上代码:

CSS代码如下:

HTML代码如下:

效果图如下:

 好程序员web前端培训分享之HTMLCSS学习笔记css3-多列,多列布局类似报纸或杂志中的排版方式,主要用以控制大篇幅文本。

多列属性

1、column-count

属性规定元素应该被分隔的列数

适用于:除table外的非替换块级元素, table cells, inline-block元素

2、column-gap

属性规定列之间的间隔大小

3、column-rule

设置或检索对象的列与列之间的边框。复合属性。

column-rule-color规定列之间规则的颜色。

column-rule-style规定列之间规则的样式。

column-rule-width规定列之间规则的宽度。

4、column-fill

设置或检索对象所有列的高度是否统一

auto:列高度自适应内容

balance:所有列的高度以其中最高的一列统一

5、column-span

设置或检索对象元素是否横跨所有列。

none:不跨列

all:横跨所有列

6、column-width

设置或检索对象每列的宽度

7、columns

设置或检索对象的列数和每列的宽度。复合属性

<' column-width '> || <' column-count '>

注:Internet Explorer 10 和 Opera 支持多列属性。