60. CSS3 跨列设置column-spans属性

column-span主要用来定义一个分列元素中的子元素能跨列多少。column-widthcolumn-count等属性能让一元素分成多列,不管里面元素如何排放顺序,他们都是从左向右的放置内容,但有时我们需要基中一段内容或一个标题不进行分列,也就是横跨所有列,此时column-span就可以轻松实现。

语法规则:

column-span: none | all

取值说明:

属性值 属性值说明
none 此值为column-span的默认值,表示不跨越任何列。
all 这个值跟none值刚好相反,表示的是元素跨越所有列,并定位在列的Z轴之上。

例如:将第一个标题跨越所有列,代码:

column-span:all;

实例演示:

让所有偶数段落和标题,跨越所有列,注意浏览器的兼容性设置。

HTML代码:

<div class="columns">
  <h2>我要分列显示</h2>
  <p>为了能在Web页面中方便实现类似报纸、杂志那种多列排版的布局,W3C特意给CSS3增加了一个多列布局模块(CSS Multi Column Layout Module)。它主要应用在文本的多列布局方面。对于文本的多列布局,我想大家并不陌生,因为报纸和杂志上我们随处可见,这种布局在报纸和杂志上都使用了几十年了,但需要在Web页面上实现文本的多列布局,正如下图所示。</p>
  <!-- 此处省略部分重复P -->
  ...
</div>

CSS代码 :

.columns {
  padding: 5px;
  border: 1px solid green;
  width: 900px;
  margin: 20px auto;
  
  -webkit-column-count:3;
  -moz-column-count:3;
  -o-column-count:3;
  -ms-column-count:3;
  column-count:3;
  
  -webkit-column-gap: 2em;
  -moz-column-gap: 2em;
  -o-column-gap: 2em;
  -ms-column-gap: 2em;
  column-gap: 2em;
  
  -webkit-column-rule: 3px gray solid;
  -moz-column-rule: 3px gray solid;
  -o-column-rule: 3px gray solid;
  -ms-column-rule: 3px gray solid;
  column-rule: 3px gray solid;
}
h2{
  background: green;
  padding: 10px;
  color: #fff;
}

h2,
p:nth-child(2n){
  -webkit-column-span:all;
  -moz-column-span:all;
  -o-column-span:all;
  -ms-column-span:all;
  column-span:all;
}

效果如下:

CSS3 跨列设置column-spans属性

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有资源及文章均来源于网络及用户分享或为本站原创,仅限用于学习和研究,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 60. CSS3 跨列设置column-spans属性

发表评论

IT互联网行业相关广告投放 更专业 更精准

立即查看 联系我们