CSS3 新增多列布局适合排版很长的文字内容,让其多列显示。使开发者能够轻松实现报纸版式的布局。
colum的相关属性:
属性 | 说明 |
---|---|
column-count | 属性值是一个数字,规定元素被分为几列 |
column-width | 列宽 |
column-gap | 列与列的间隔宽度 |
column-rule | 列的间隔线,column-rule-color、column-rule-style 和 column-rule-width 的简写方法 |
column-rule-color | 列的间隔线颜色 |
column-rule-color | 列间隔线样式 |
column-rule-width | 列间隔线的宽度 |
column-span | 设置或检索对象元素是否横跨所有列,属性值:none(不跨列) / all(横跨所有列) |
columns | colum-width 和 column-count的简写形式 |
注:
1.要注意列宽与列数的设置,很容易产生冲突!
如果设置了column-count,则column-width应该是自动的
如果同时设置了这两个属性,则他们会产生冲突。原则:取大优先,谁设定的宽度值大,则谁生效如果还有剩余空间,会均分给每列,使每列实际宽度大于设置的宽度
2.为了解决兼容问题,最好加上浏览器前缀
html结构
元素里面放一堆文字
<div>
<h2>标题</h2>
这里放一堆你所需要的文字。由于文字太多,我给删掉了。
</div>
CSS样式
div{
column-count: 5;
column-gap: 10px;
column-rule: 2px solid peru;
}
div h2{
font-size: 30px;
column-span: all;
text-align: center;
}
运行效果
多列布局—瀑布流案例
效果图
案例源码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>多列布局-瀑布流案例</title>
<style>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
body{
background: url(./img/a.png),url(./img/bg.gif);
background-size: 30%;
background-color: #403e49;
}
section{
column-count: 5;
padding: 10px;
column-gap: 6px;
}
figure{
border: 3px solid mistyrose;
break-inside: avoid;
padding: 6px;
margin-bottom: 6px;
}
figcaption{
height: 30px;
font-size: 16px;
color: #a77869;;
line-height: 30px;
text-align: center;
}
img{
display: block;
width: 100%;
}
</style>
</head>
<body>
<section>
<figure>
<img src="./img/1.jpg" alt="">
<figcaption>往后余生 风雪是你</figcaption>
</figure>
</section>
</body>
</html>
结构里面多放一些图片就行了,主要看css样式