CSS之Multi-columns的列数和列宽

“Multi-column”译成中文就是“多列”,这个”Multi-column”是W3C给CSS3增加的一个多列布局模块(CSS Multi-column Layout Module)。它主要应用在文本的多列布局方面,对于文本的多列布局我想大家并不陌生,因为报纸和杂志上我们随处可见,这种布局在报纸和杂志上都使用了几十年了,但需要在Web页面上实现文本的多列布局,正如下图所示

这里写图片描述

1. 列数和列宽:column-count;column-width;columns

2. 列的间距和分列样式:column-gap;column-rule-color;column-rule-style;column-rule-width;column-rule

3. 列的分栏符:break-before;break-after;break-inside

4. 跨越列:column-span

5. 填充列:column-fill

一. column-count

作用:column-count作用主要是用来描述一个Multi元素的列数

语法:column-count: auto || 数字

取值说明:

1. auto:此值为column-count的默认值,当column-count没有设置任何值时,默认的值就是auto,此时的栏数是根据别的参数来确定的,比如说列宽width

2. 数字:这里可以是任何正整数数字,但不可以带有任何单位,用来表示Multi元素分列的列数

HTML:

这里写图片描述

CSS:

这里写图片描述

首先看第一种情况:column-count:auto。前面也说过,当column-count取值为auto时,元素分栏是由其他属性决定的比如说,比如这里的column-width,具体我们来看代码如何实现

这里写图片描述

其实column-count值为auto时,可以不要显式的设置,因为其默认值就是auto,所以上面的代码中大家可以尝试的把column-count:auto这个去掉,看看结果不是不是一样。这里有一点需要说明的就是当只用column-width来控制显示的列数时,其column-width的取值最好不要超过下面公式计算出来的值

这里写图片描述

就拿本例来说,n=2,font-size:14px;那么column-width的值应该是(400-14)/2=193px(Opera下最好再减1个px,当然如果你是中文的话也最好这样做,减1-2px,至于为什么,我也说不清楚。);当你把column-width值大于193px时,只会显示一列

这里写图片描述

上面是column-count取值为auto的使用,现在一起来看其取值为具体数值时的应用,基于前面的实例,把列数换成三列

这里写图片描述

这里写图片描述

二. column-width

作用:column-width属性是用来控制Multi元素的列宽

语法:column-width: <length> || auto

取值说明:

1. auto:此值是其默认值。如果column-width设置值为auto或者没有显式的设置值时,此时Multi元素的列宽将由其他属性来决定,比如前面的实例就是由column-count来决定的(当然column-count的值不能为auto了,不然是无效果的)

2. <length>:此值使用固定值来设置Multi元素的宽度,其单位可以是px或者em;但不能是负值

首先来看一个普通的例子,这里所说的普通就是指元素分列的列宽不指定确定的宽度值,并且其他参数都为默认值

这里写图片描述

从效果中清楚的知道,给Multi元素仅设置auto是没有任何效果的,因为此时的值是需要根据元素的列数来定的,在这里并没有指定列数的值,所以默认为1列

在上面的实例的基础上,变通一下,给他加上一个column-count:2

这里写图片描述

这里写图片描述

注:当column-width为auto时需要配合column-count的设置才能有分列效果

总结:count和width两个属性不能同时都为auto,只能其中一个值为auto

特例:当列的宽度大于元素容器的宽度的情况

这里写图片描述

这里写图片描述

上图效果告诉我们,虽然设置的列宽大于元素容器的宽度,但并不会让元素内容按列的宽度进行布局从而撑破元素容器,而是会把列宽降到与元素容器宽度相等

三. columns

作用:columns是把前面两个属性合并在一起使用

语法:columns: column-width || column-count

取值说明:olumn-width和column-count分别是指列的宽度和列数

这里写图片描述

这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS之Multi-columns的column-gap和column-rule

column-gap就相当于两列之间的空白处&#xff0c;而column-rule就相当于一条分隔线&#xff0c;换句话说呢&#xff1f;column-gap就像我们web页面中的margin一样&#xff0c;而column-rule就类似于border&#xff0c;不过他们只是存在相邻两列之间 另外column-gap和column-ru…

CSS之Multi-columns的跨列

column-span主要用来定义一个分列元素中的子元素能跨列多少列。前面大家都知道column-width&#xff0c;column-count等属性让一元素分成多列&#xff0c;不管里面元素如何排放顺序&#xff0c;他们都是从左向右的放置内容&#xff0c;但有时我们需要基中一段内容或一个标题不进…

详解Microsoft Office Communication Server (OCS) 2007 标准版部署(上)

详解Microsoft Office Communication Server (OCS) 2007 标准版部署&#xff08;上&#xff09;前几篇博文中介绍了LCS今天我们来部署ocs&#xff0c;它是lcs的升级版&#xff0c;功能比lcs多个很多&#xff0c;可以视频&#xff0c;多人会议&#xff0c;等多项功能。但是安装起…

CSS之浮动(一)

1. 浮动出现的意义其实只是用来让文字环绕图片而已&#xff0c;仅此而已。而我们目前用浮动实现页面布局本不是浮动该干的事情 2. 浮动的包裹性 撇开浮动的“破坏性”&#xff0c;浮动就是个带有方位的display:inline-block属性 display:inline-block某种意义上的作用就是包…

CSS之浮动(二)

1. 浮动的非本职工作 我们只要静下心来好好想想浮动的本质&#xff0c;实现的原理&#xff0c;就可以知道为什么浮动本不应该用来对页面进行布局。还记得上一部分所说的浮动的本质吗&#xff1f;即“包裹与破坏”。我们可以用这个&#xff08;“包裹与破坏”&#xff09;解释为…

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

本文转载至 http://blog.csdn.net/liuwuguigui/article/details/39494597IOS8UIAlertViewUIActionSheetiOS8推出了几个新的“controller”&#xff0c;主要是把类似之前的UIAlertView变成了UIAlertController&#xff0c;这不经意的改变&#xff0c;貌似把我之前理解的“contro…

记腾讯互娱网站布局(1)

1.导航栏 第一步&#xff1a;设置最外层的容器的定位方式、宽度和高度以及背景 第二步&#xff1a;给第二层容器设置内容的居中显示 第三步&#xff1a;设置居中的logo的定位和位置 第四步&#xff1a;设置6个标志的布局 设置所有的导航栏项目的定位和距离顶部的距离&#xff0…

Taro+react开发(48)taro中switchTab

跳转到 tabBar 页面&#xff0c;并关闭其他所有非 tabBar 页面

记腾讯互娱网站布局(2)

2.头图特效 给头图设置宽度100%以及定高1110px&#xff0c;同时设置display为table&#xff0c;和定位方式fixed 通过设置绝对定位以及固定宽高和背景的方式来实现 存放动态特效的盒子采用绝对定位&#xff0c;并且触发流体特效以及百分百宽的方式 主图上标志的实现是采用外部容…

ABBYY

ABBYY FineReader Engine泰比OCR文字识别控件移动版 产品功能&#xff1a;OMR识别控件 平台&#xff1a; 开发商&#xff1a;ABBYY”‘Š€ 版本&#xff1a;产品介绍&#xff1a;手机识别的高品质和精度 泰比&#xff08;ABBYY&#xff09;Mobile OCR Engine是基于对世界知名的…

JS预编译过程

首先讲预编译过程 JS代码执行过程三部曲 过程 语法分析&#xff1a;首先扫描一遍&#xff0c;看有没有低级的语法错误预编译解释执行&#xff1a;解释一行执行一行 预编译low讲 函数声明整体提升&#xff0c;变量 的声明提升&#xff08;这个其实很low&#xff0c;点击low…

记腾讯互娱网站布局(3)

3.图文回顾 先看看整个网站的全貌 这里’display:table;width:100%;table-layout:fixed’是约定俗成的写法&#xff0c;用来保证固定的表单布局&#xff0c;同时让连续的英文单词不会超出 内部采用’display:table-cell’属性将内容当做表格的td标签一样显示&#xff0c;设置v…

Taro+react开发(51) 数组对象和数组得处理

for (var key of value) {arrcode.push(selectorIndustry.find(obj > obj.value key));}

大小不固定的图片和多行文字的垂直水平居中

1. 单行文字 可能很多人都知道如何让单行文字垂直居中显示&#xff0c;就是使用line-height&#xff0c;将line-height值与外部标签盒子的高度值设置成一致就可以了 2. 多行文字 说白了就是把文字当图片处理。用一个span标签将所有的文字封装起来&#xff0c;设置文字与图片相…

移动端中使用调试控制台

一、一般移动端&#xff1a;在html head中引入移动端调试控制台代码并初始化&#xff1a; <head><meta charset"UTF-8">....<!-- 移动端调试控制台 --><script src"https://cdn.bootcss.com/eruda/1.4.3/eruda.min.js"></scri…

GPT每预测一个token就要调用一次模型

问题&#xff1a;下图调用了多少次模型&#xff1f; 不久以前我以为是调用一次 通过看代码是输出多少个token就调用多少次&#xff0c;如图所示&#xff1a; 我理解为分类模型 预测下一个token可以理解为分类模型&#xff0c;类别是vocab的所有token&#xff0c;每一次调用都…

display:table-cell的集中应用

1. display:table-cell属性指让标签元素以表格单元格的形式呈现&#xff0c;类似于td标签。我们都知道&#xff0c;单元格有一些比较特别的属性&#xff0c;例如元素的垂直居中对齐&#xff0c;关联伸缩等&#xff0c;所以display:table-cell还是有不少潜在的使用价值的 与其他…

基于display:table的CSS布局

CSS表格能够解决所有那些我们在使用绝对定位和浮动定位进行多列布局时所遇到的问题。例如&#xff0c;“display:table;”的CSS声明能够让一个HTML元素和它的子节点像table元素一样。使用基于表格的CSS布局&#xff0c;使我们能够轻松定义一个单元格的边界、背景等样式&#xf…

ASP.NET MVC Training Kit发布了

Scott Guthrie昨天宣布了ASP.NET MVC 按照Ms-PL协议开源发布&#xff0c;具体内容参见ASP.NET MVC 1.0 has been released&#xff0c;也可以参看Scott Hanselman的新闻稿Microsoft ASP.NET MVC 1.0 is now Open Source MS-PL。 微软同时也推出了一套ASP.NET MVC frameworke培训…

JS实现滚动监听以及滑动到顶部

效果图: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><!-- <meta name"viewport" content"widthdevice-width, initial-scale1.0" /> --><meta name"viewport" …