多列布局

columns

  • columns 缩写属性设置列宽和列数
    • column-count 指定元素应该分为的列数
    • column-width 指定列的宽度
<!doctype html>
<html>
    <head>
        <title></title>
        <meta charset="utf-8" />
        <style type="text/css">
        	div{
        		border:2px solid #000; 
				min-height: 300px;
				columns: 200px 3; 
        	}
        </style>
    </head>
    <body>
		<div>文本文本文本文本文本文本文本文本文本文本文本文本文文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文文本文本文本文本文本文本文本文本文本文本文本文本文文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本本文本文本文本本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本本文本文本文本文本文本文本</div>
    </body>
</html>

注意 如果把文本换成没有意义的英文字符,要加这个样式word-break: break-all;

<!doctype html>
<html>
    <head>
        <title></title>
        <meta charset="utf-8" />
        <style type="text/css">
        	div{
        		border:2px solid #000; 
                min-height: 300px;
				columns: 200px 3; 
        	}
        </style>
    </head>
    <body>
		<div style="word-break: break-all;">
		ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
		</div>
    </body>
</html>


column-rule

对于设置所有column-rule-*属性的简写属性

  • column-rule-color 指定列之间的颜色规则
  • column-rule-style 指定列之间的样式规则
  • column-rule-width 指定列之间的宽度规则,分割线的宽度
<!doctype html>
<html>
    <head>
        <title></title>
        <meta charset="utf-8" />
        <style type="text/css">
        	div{
        		border:2px solid #000; 
				columns: 200px 3; 
                min-height: 300px;
                /*加上这段代码*/
				column-rule: 2px double skyblue;
        	}
        </style>
    </head>
    <body>
		<div>
		Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius.
		</div>
    </body>
</html>

column-span

多列布局中某些元素,是否跨列

  • 1 只能跨一列
  • all 可以跨列全部

是的,要么只能跨一列,要么能跨全部。

<!doctype html>
<html>
    <head>
        <title></title>
        <meta charset="utf-8" />
        <style type="text/css">
        	section{
        		border:2px solid #000; 
				columns: 200px 3; 
				min-height: 300px;
				column-rule: 2px double skyblue;
        	}
        	h2{
                /*加上这段代码*/
        		column-span: all;
        	}
        </style>
    </head>
    <body>
		<section>
			<h2>标题标题标题标题标题标题标题标题标题——跨列的标题</h2>
		Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius.
		</section>
    </body>
</html>


column-gap

列之间的距离

<!doctype html>
<html>
    <head>
        <title></title>
        <meta charset="utf-8" />
        <style type="text/css">
        	section{
        		border:2px solid #000; 
				columns: 200px 3; 
				min-height: 300px;
				column-rule: 2px double skyblue;
                /*加上这段代码*/
				column-gap: 60px;
        	}
        	h2{
        		column-span: all;
        	}
        </style>
    </head>
    <body>
		<section>
			<h2>标题标题标题标题标题标题标题标题标题——跨列的标题</h2>
		Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius.
		</section>
    </body>
</html>


注意:多列布局在PC端,随着浏览器缩小,会将列数减小,直到一列。宽度减小了,高度会增加,如果给一个固定高度,那么超出盒子范围的内容会被隐藏,而且没有滚动条,所以不要固定高度,给个最小高度。

原文地址:https://www.cnblogs.com/tourey-fatty/p/12078362.html