揭秘CSS(第 1 版)
9.2.3 跨列
阅读(

概述

CSS选择器

字体和文本

盒模型

元素的定位

链接和导航

表格和表单

变换、过渡和动画

布局

基本布局类型

多列布局

列间隙和边框

多列布局

跨列

默认情况下,多列容器中的内容,会一列一列地自动填充。但有时候,却需要其中的某些内容(如,文章标题)不是多列布局,而是横跨所有列。

要实现类似报纸、杂志上的跨列效果,就可以使用 column-span属性,来控制多列容器中的某个子元素是否横跨所有列,取值为 none | all。none 表示不跨列,all 表示横跨所有列。

如,在上述结构中增加一个 h2 标题和若干个段落,为了节省篇幅,用(…)代替略去的内容:

<div>
<p>在CSS3之前,要…实现起来也很困难。</p>
<p>CSS3多列布局的出现,彻底改变…分布到多列网格中。</p>
<h2>跨列</h2>
<p>从前面的介绍可知,多列容器中…就需要用到column-span属性。</p>
</div>

如果希望 h2 标题能够横跨所有列,而不使用多列布局,就需要把 column-span属性的值显式设置为 all:

div {
    -webkit-column-count: 3;
}
div p {
    text-indent: 2em;
}
div h2 {
    background: #ccc;
    -webkit-column-span: all;
}

上述代码的运行结果如图 9‑8 所示:

column-span属性效果
图9-8 column-span属性效果

从上图可以看出,h2 标题将文章的内容分成了相互独立的两个部分,每部分依然是一个 3 列布局,而 h2 标题独自横跨三列。

关于作者

歪脖先生,十五年以上软件开发经验,酷爱Web开发,精通 HTML、CSS、JavaScript、jQuery、JSON、Python、Less、Bootstrap等,著有《HTML宝典》、《揭秘CSS》、《Less简明教程》、《JSON教程》、《Bootstrap2用户指南》、《Bootstrap3实用教程》,并全部在 GitHub 上开源。

如果本教程对您帮助很大,请随意打赏。您的支持,将鼓励我写出更好的教程!

← 键盘方向键翻页 →
返回顶部 手机访问 关注微信 返回底部

扫码访问歪脖网

随时随地,想看就看

关注歪脖网微信

分享 web 知识、交流 web 经验