首页  >  文章  >  web前端  >  css3中新增属性:css3多列布局属性的总结(附实例)

css3中新增属性:css3多列布局属性的总结(附实例)

不言
不言原创
2018-08-04 16:08:383657浏览

css3中增加了多列布局的属性,什么是多列布局呢?所谓多列布局,就是创建多个列来对文本进行布局,像是报纸的排版差不多,那么,在本文中我们就来看一看多列布局中的一些相关属性及代码实例。

css3多列布局容器的属性:

column-width: auto | < length > :给列定义一个最小宽度(min-width)。

auto: 列宽由其他元素决定。

length: 显式设置最小宽度。

column-count: auto | < integer >:定义列的数量。

auto: 元素只有一列。就像没有设置一样。

< integer >: 正整数值。取值是大于0的整数,负值无效。

columns: < column-width > || < column-count >:是column-width和column-count的简写。次序随意。

列宽 = ( 父元素宽度 - (列数-1) 列间隙 ) / 列数*
比如:父元素40em,分为4列,列间隙为2em。那么列宽为( 40 - (4-1) * 2) / 4 = 8.5em。
如果显式设置的列宽小于这个宽度,它会以这个宽度展示。
如果显式设置的列宽大于这个宽度,它会按照合适的尺寸重新排列列宽和列数。当前设置的列宽和列数并不准确。

column-gap: normal | < length >:定义列间距。值过大时会撑破布局。

normal: 默认值,由浏览器解析,一般是lem。
< length >: 有浮点数字和单位标识符组成的长度值。如:2.1em。

column-rule: < column-rule-width > | < column-rule-style > | < column-rule-color >:定义列边框。

    它的中心线始终和列间距的中心线一样。换言之,它总处于两列的中间。和border类似。如果列边框大于列间距,并不会自动消失。列边框超出列间距的部分就像是沉在文字的下方一样(背景效果)。

column-fill: auto | balance:定义多列中每一列的高度是否统一。

这个属性很奇怪。并且在浏览器中不统一。它有两个值:auto | balance。在 ie10/ie11/opera40/chrome52中测试的结果都是一样的,发现这两个属性并没有区别。在firefox49中测试,这两个属性是有区别的,其中balance是每列高度差不多(对齐),auto就自动合并成一列了,无论自己设置的是多少列。

css3多列布局项目(元素)属性:

column-span: none | all:定义一个元素横跨多少列。

如果我们常将标题横跨所有列。那么,column-span: all。其默认值是,column-span: none;表示不跨列。

css3多列布局代码:

     <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>多列布局|column-span</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        .wrapper {  
            width: 40em;
            margin:0 auto;
            border: 1px solid #ccc;
            /*多列布局*/
            -moz-column-count: 4;
            -webkit-column-count: 4;
            column-count: 4;
            -moz-column-gap: 2em;
            -webkit-column-gap: 2em;
            column-gap: 2em;
            -moz-column-rule: .1em dashed #ccc;
            -webkit-column-rule: .1em dashed #ccc;
            column-rule: .1em dashed #ccc;
            -webkig-column-fill: balance;
            -moz-column-fill: balance;
            column-fill: balance;
        }
        h1 {
            font-size: 1.5em;
            margin-bottom: 1em;
            -moz-column-span: all;
            -webkit-column-span: all;
            column-span: all;
            padding-bottom: 5px;
            text-align: center;
            border-bottom: 2px solid #ccc;
        }
        p {
            margin-bottom: 1em;
            text-indent: 2em;
            line-height: 1.625;
            font-size: .7em;
        }
    </style>
</head>
<body>
    <div>
        <h1>为什么您宁愿吃生活的苦,也不愿吃学习的苦?</h1>
      <h3>一. 为什么大多数人宁愿吃生活的苦,也不愿吃学习的苦?</h3>
        <p>记得小时候上学,学校每次放月假,爷爷就去车站接我回家。
那时家里离车站远,需要骑着车子来回。
一路上我们彼此相对无语,等到爷爷骑不动了,我们就这么一前一后推着车子走着,记得爷爷常常和我说:
“吃得苦中苦,方为人上人,你日后要好生读书。”
那时的我未解其意,只是默默记在心里,望着不远处稻田里的乡亲们弯腰割麦俯首插秧,我觉着他们太辛苦了。
几年过去了,我考入了省城上大学,学了这个城市最热门也最富前景的工程造价专业。
后来,我走进实习单位, 工地的环境有多么糟糕自不必多说,晴天尘土飞扬骄阳似火,雨天泥泞不堪污水四溢。
物质世界的贫瘠尚可以忍受,然而精神世界的荒芜会随着时间慢慢消磨你的梦想和纯真。
后来,我选择去了深圳,在那里我终于找到了自己热爱的行业,眼前陌生的一切都让我感到兴奋和欢愉。
人工智能、自动驾驶、虚拟现实、风投、天使轮这些名词让我看到了世界的另一面。
越是不断地拓宽知识面,越是觉得自己知识储备量的贫瘠与荒凉。</p>
        <h3>二. 生活的痛苦使人麻痹,学习的痛苦让人清醒 ;过去不按思维而生活,终将有一天要按照生活而思维</h3>
        <p>痛苦之所以不被人喜欢,大多数是因为人们从不会思考自己为何痛苦。
然而,这世上还有另一种痛苦是,对这个世界产生了失望的情绪,然后把自己对这个世界的失望,当作是自己本该如此,甚至误以为这就是吃苦的好处。
我总觉得苦难的意义,在于我们更好地去思考人生为何如此苦难,就像有人曾说:未经省察的人生,从不值得一过。
如果没有经过思索和自省,苦难终究只是苦难而已,没有任何意义。
有些人,年轻时总觉得学不学习无关紧要,反正自己体力好得很,只要自己身体好就能混口饭吃。
他们终将会明白,那些为了讨生活不得已而吃的苦,就是当年不吃学习苦的代价。
学习的苦,是枯燥的苦,是短期没有回报的苦,这种苦看得见,摸得着,谁都不愿吃。
生活的苦,是绝望的苦,是长期没有出路的苦,这种苦看不见,摸不着,谁都不想吃。
我从不喜欢自讨苦吃,如果我能通过学习和自我提升避免遇见这些痛苦的经历,我有什么理由不去学习?
生活其实并不苦,苦的是那个不知苦也不知如何避免吃苦的人生。
学习其实并不苦,苦的是早已被生活消磨掉的好奇心和敢于对未来报有期望的勇气。</p>
    </div>
</body>
</html>

运行效果:

2345截图20180804155144.png

相关文章推荐:

css3-columns多列布局_html/css_WEB-ITnose

浅谈CSS3新特性之多列布局模块

CSS3 Columns好用的分列式布局

以上是css3中新增属性:css3多列布局属性的总结(附实例)的详细内容。更多信息请关注PHP中文网其他相关文章!

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