目录
第一段标题
第二段标题
第三段标题
第四段标题
第五段标题
首页 web前端 html教程 第 28 章 CSS3 多列布局_html/css_WEB-ITnose

第 28 章 CSS3 多列布局_html/css_WEB-ITnose

Jun 24, 2016 am 11:19 AM

学习要点:

1.早期多列问题

2.属性及版本

3.属性解释

 

主讲教师:李炎恢

 

本章主要探讨 HTML5 中 CSS3 提供的多列布局,通过多列布局我们方便的创建流体的多列布局。

 

一.早期多列问题

我们有时想布局成报纸、杂志那样的多列方式(至少两列,一般三列以上),但早期 CSS 提供的布局方式都有着极大的限制。如果是固体布局,那么使用浮动或定位布局都可以完成。但对于流体的多列,比如三列以上,那只能使用浮动布局进行,而它又有极大的限制。因为它是区块性的,对于动态的内容无法伸缩自适应,基本无能力。

//五段内容,分为三列

<div>    <p>        我是第一段内容....省略的部分复制大量文本    </p>    <p>        我是第二段内容....省略的部分复制大量文本    </p>    <p>        我是第三段内容....省略的部分复制大量文本    </p>    <p>        我是第四段内容....省略的部分复制大量文本    </p>    <p>        我是第五段内容....省略的部分复制大量文本    </p></div>
登录后复制

//带标题的五段内容,分为三列

<div>    <h4 id="第一段标题">第一段标题</h4>    <p>        我是第一段内容....省略的部分复制大量文本    </p>    <h4 id="第二段标题">第二段标题</h4>    <p>        我是第二段内容....省略的部分复制大量文本    </p>    <h4 id="第三段标题">第三段标题</h4>    <p>        我是第三段内容....省略的部分复制大量文本    </p>    <h4 id="第四段标题">第四段标题</h4>    <p>        我是第四段内容....省略的部分复制大量文本    </p>    <h4 id="第五段标题">第五段标题</h4>    <p>        我是第五段内容....省略的部分复制大量文本    </p></div>
登录后复制

上门两组内容,如果想用浮动和定位实现流体三列,基本不可能。并且实际应用中,需求可能多变,要更改成四列或者五列呢?所以,CSS3 提供了多列布局属性 columns 来实现这个动态变换的功能。

二.属性及版本

CSS3 提供了 columns 多列布局属性等 7 个属性集合,具体如下:

属性

说明

columns

集成 column-width 和 column-count 两个属性

column-width

定义每列列宽度

column-count

定义分分列列数

column-gap

定义列间距

column-rule

定义列边框

column-span

定义多列布局中子元素跨列效果,firefox 不支持

column-fill

控制每列的列高效果,主流浏览器不支持

由于 column 属性集尚未纳入标准,大多数浏览器必须使用厂商前缀才能访问,好在主流的浏览器都可以很好的支持了。下面是主流浏览器的支持和前缀情况。

Opera

Firefox

Chrome

Safari

IE

支持需带前缀

11.5 ~ 29

2 ~ 40

4 ~ 45

3.1 ~ 8

支持不带前缀

10.0+

通过上面的表格,我们可以了解到,要想让最新的浏览器全部实现效果,都必须使用前缀。

//完整形式

-webkit-columns: 150px 4;-moz-columns: 150px 4;columns: border-box;
登录后复制

三.属性解释

为了方便演示,我们在 Firefox 火狐浏览器测试,只用-moz-前缀演示。

1.columns

columns 是一个复合属性,包含 columns-width 和 columns-count 这两种简写。意为同时设置分列列数和分列宽度。//分成四列,每列宽度自适应

-moz-columns: auto 4;
登录后复制

2.column-width

column-width 属性,用于设置每列的宽度。

//设置列宽

-moz-column-width: 200px;
登录后复制

这里设置了 200px,有点最小宽度的意思。当浏览器缩放到小于 200 大小时,将变成 1 列显示。而如果是 auto,则一直保持四列。

属性

说明

auto

默认值,自适应。

长度值

设置列宽。

3.column-count

column-count 属性,用于设置多少列。

//设置列数

-moz-column-count: 4;
登录后复制

属性值

说明

auto

默认值,表示就 1 列。

数值

设置列数。

4.column-gap

column-gap 属性,用于设置列间距

//设置列间距

-moz-column-gap: 100px; 
登录后复制

属性值

说明

auto

默认值,表示就 1 列。

数值

设置列数。

5.column-rule

column-rule 属性,设置每列中间的分割线//设置列边线

-moz-column-rule: 2px dashed gray; 
登录后复制

属性

说明

column-rule

<宽度> <样式> <颜色>的边框简写形式。

column-rule-width

单独设置边框宽度。

column-rule-style

单独设置边框的样式。

column-rule-color

单独设置边框的颜色。

列边线不会影响到布局,它会根据布局的缩放自我调整是否显示。如果我们把页面缩放到只能显示一列时,它自动消失了。

6.column-span

column-span 属性,设置跨列大标题。

//跨列标题,由于火狐尚未支持,固使用 webkit

-webkit-column-span: all; 
登录后复制

属性

说明

none 

默认值,表示不跨列。

all

表示跨列。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

HTML容易为初学者学习吗? HTML容易为初学者学习吗? Apr 07, 2025 am 12:11 AM

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

HTML,CSS和JavaScript的角色:核心职责 HTML,CSS和JavaScript的角色:核心职责 Apr 08, 2025 pm 07:05 PM

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

HTML中起始标签的示例是什么? HTML中起始标签的示例是什么? Apr 06, 2025 am 12:04 AM

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

了解HTML,CSS和JavaScript:初学者指南 了解HTML,CSS和JavaScript:初学者指南 Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

网页批注如何实现Y轴位置的自适应布局? 网页批注如何实现Y轴位置的自适应布局? Apr 04, 2025 pm 11:30 PM

网页批注功能的Y轴位置自适应算法本文将探讨如何实现类似Word文档的批注功能,特别是如何处理批注之间的间�...

Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Apr 04, 2025 pm 11:54 PM

GiteePages静态网站部署失败:404错误排查与解决在使用Gitee...

HTML,CSS和JavaScript:Web开发人员的基本工具 HTML,CSS和JavaScript:Web开发人员的基本工具 Apr 09, 2025 am 12:12 AM

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

如何用CSS3和JavaScript实现图片点击后周围图片散开并放大效果? 如何用CSS3和JavaScript实现图片点击后周围图片散开并放大效果? Apr 05, 2025 am 06:15 AM

实现图片点击后周围图片散开并放大效果许多网页设计中,需要实现一种交互效果:点击某张图片,使其周围的...

See all articles