css3多列布局(分栏布局)

css3多列布局(分栏布局)

多列布局(分栏布局)相关属性:

1.column-width:栏目宽度,建议一个最佳列宽。
2.column-count:栏目列数,指定要多少栏。
3.column-gap:栏目距离。
4.column-rule:栏目间隔线,跟border的参数一样。

注意:column-width和column-count不能同时使用,同时使用跟样式的先后顺序没有关系,会根据‘取大优先’的原则,应用column-width的样式,还是column-count的样式。

演示模板HTML代码:

  <div id="box">
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
	多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,多列布局,<br>
  1. column-width:栏目宽度,建议一个最佳列宽:
	#box{
	  width:800px;
	  height:400px;
	  border:1px solid;
	  margin:100px auto;
	  column-width:200px;
	}

页面效果:
column-width
我们可以看见整个div的宽度是800px;设置一列的宽度为200px;那么应该有4列才对,为什么只有3列呢?
因为列与列之间存在间隙,如果是4列,整个的宽度就是4*200px+每个间隙的距离,这样得出的结果肯定大于800px,所以这里设置200px只有3列。

  1. column-count:栏目列数,指定要多少栏:
	#box{
	  width:800px;
	  height:400px;
	  border:1px solid;
	  margin:100px auto;
	  column-count:5
	}

页面效果:
column-count
可以看见设置column-count为多少,文本就会分成多少列。

  1. column-gap:栏目距离:
	#box{
	  width:800px;
	  height:400px;
	  border:1px solid;
	  margin:100px auto;
	  column-count:3;
	  column-gap:60px;
	}

页面效果:
column-gap
可以看见每列之间的间隙比起之前宽了很多。

  1. column-rule:栏目间隔线,跟border的参数一样:
	#box{
	  width:800px;
	  height:400px;
	  border:1px solid;
	  margin:100px auto;
	  column-count:3;
	  column-gap:60px;
	  column-rule:2px solid blue;
	}

页面效果:
column-rule
可以看见每列之间都有一条分隔线将文本分隔开来,方便查看。

  1. column-width和column-count同时使用的情况:
	#box{
	  width:800px;
	  height:400px;
	  border:1px solid;
	  margin:100px auto;
	  column-count:3;
	  column-width:300px;
	  column-gap:60px;
	  column-rule:2px solid blue;
	}

页面效果:
在这里插入图片描述
可以看见这时元素应用的是column-width的样式,没应用column-count的样式,我们把两种样式的顺序换下:

	#box{
	  width:800px;
	  height:400px;
	  border:1px solid;
	  margin:100px auto;
	  column-width:300px;
	  column-count:3;
	  column-gap:60px;
	  column-rule:2px solid blue;
	}

页面效果:
在这里插入图片描述
可以看见跟上面的效果是一样的,这也说明column-width和column-count同时使用的时候,元素应用的效果跟这两者的顺序没有关系。

我们把column-width调小一点:

	#box{
	  width:800px;
	  height:400px;
	  border:1px solid;
	  margin:100px auto;
	  column-width:100px;
	  column-count:3;
	  column-gap:60px;
	  column-rule:2px solid blue;
	}

页面效果:
在这里插入图片描述
可以看见这次应用的是column-count的样式,这是为什么呢?

原来当column-width和column-count同时使用的时候,采用的是‘取大优先’的原则,就是哪个样式生成的列的列宽最大,就应用哪个的样式。

我们再来验证下:

	#box{
	  width:800px;
	  height:400px;
	  border:1px solid;
	  margin:100px auto;
	  column-width:800px;
	  column-count:3;
	  column-gap:60px;
	  column-rule:2px solid blue;
	}

column-width:800px,column-count:3,可以肯定column-width只有一列,column-count有3列,那么column-width的列宽肯定大于column-count的列宽,所以会应用column-width的样式,我们来看看是否是这样的:
在这里插入图片描述
果然没错!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值