css3弹性盒子模型

  当下各种手机,平板尺寸不一,如果盒模型只能固定尺寸,不能随意压缩,将不能很好的迎合这个时代。所以css3推出了新的盒模型——弹性盒子模型(Flexible Box Model)。

  弹性盒模型可以水平布局,可以垂直布局,还可以调换顺序,可以设置不等的百分比等。

1.弹性盒子column分栏

 1 <h2>1.弹性盒子column分栏</h2>
 2     <div class="freebox">
 3         <img src="image/moon.jpg" alt="天宫二号" /> 9月15日晚10点04分,八月十五中秋节夜晚,甘肃酒泉,天宫二号飞行器发射升空。在酒泉卫星发射中心,一轮满月周围惊现一圈月晕,这为即将升空的火箭背景加分不少。(图片来源:东方IC)
 4         <p>
 5              这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻.
 6         </p>
 7         <p>
 8              这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻,这是一段新闻.
 9         </p>
10     </div>
 1 /*弹性盒子分栏*/
 2
 3 .freebox {
 4     -webkit-column-count: 3;
 5     -webkit-column-rule-style: dotted;
 6     -webkit-column-gap: 30px;
 7     -moz-column-count: 3;/*兼容火狐浏览器*/
 8     -moz-column-rule-style: dotted;
 9     -moz-column-gap: 30px;
10     column-count: 3;/*兼容原生css*/
11     column-rule-style: dotted;
12     column-gap: 30px;
13     margin: 10px auto;
14 }
15
16 div img {
17     width: 320px;
18     height: 200px;
19 }
20
21 div p {
22     text-indent: 30px;
23 }

效果:

  这个方法虽然非常好用,一句代码就能实现完美分栏,但是兼容性不佳,火狐,谷歌等浏览器都还处于试验阶段。

了解即可,不宜过分依赖,下面几种方法一样。

2.旧版弹性盒子居中布局

1 <!-- 旧版弹性盒子居中布局 -->
2     <h2>2.旧版弹性盒子居中布局</h2>
3     <div class="centerimg">
4         <img src="image/moon.jpg" alt="天宫二号" />
5     </div>
 1 /*旧版弹性盒子居中布局*/
 2
 3 .centerimg {
 4     width: 600px;
 5     height: 400px;
 6     margin: 10px auto;
 7     display: -webkit-box;
 8     display: -moz-box;
 9     display: box;
10     -webkit-box-pack: center;
11     -moz-box-pack: center;
12     box-pack: center;
13     -webkit-box-align: center;
14     -moz-box-align: center;
15     box-align: center;
16     background: #a7ffa7;
17 }

效果:

3.新版弹性盒子排序

 1 <!-- 新版弹性盒子排序 -->
 2     <h2>3.新版弹性盒子排序</h2>
 3     <div class="contant_row">
 4         <div class="first">
 5             1号盒子排第三(-webkit-order:3)
 6         </div>
 7         <div class="second">
 8             2号盒子排第一(-webkit-order:1)
 9         </div>
10         <div class="third">
11             3号盒子排第二(-webkit-order:2)
12         </div>
13     </div>
14     <div class="contant_column">
15         <div class="first">
16             1号盒子排第三(-webkit-order:3)
17         </div>
18         <div class="second">
19             2号盒子排第一(-webkit-order:1)
20         </div>
21         <div class="third">
22             3号盒子排第二(-webkit-order:2)
23         </div>
24     </div>
 1 /*新版弹性盒子排序*/
 2
 3 .contant_row {
 4     width: 600px;
 5     height: 200px;
 6     margin: 10px auto;
 7     display: -webkit-flex;
 8     display: flex;
 9     -webkit-flex-direction: row;
10     -moz-flex-direction: row;
11     flex-direction: row;
12     border: 1px solid #f00;
13 }
14
15 .contant_column {
16     width: 600px;
17     height: 200px;
18     margin: 10px auto;
19     display: -webkit-flex;
20     display: flex;
21     -webkit-flex-direction: column;
22     -moz-flex-direction: column;
23     flex-direction: column;
24     border: 1px solid #f00;
25 }
26
27 .first {
28     width: 100px;
29     height: 100px;
30     -webkit-flex: 1;
31     -moz-flex: 1;
32     flex: 1;
33     -webkit-order: 3;
34     -moz-order: 3;
35     order: 3;
36     color: #fff;
37     background: red;
38 }
39
40 .second {
41     width: 100px;
42     height: 100px;
43     -webkit-flex: 1;
44     -moz-flex: 1;
45     flex: 1;
46     -webkit-order: 1;
47     -moz-order: 1;
48     order: 1;
49     color: #fff;
50     background: green;
51 }
52
53 .third {
54     width: 100px;
55     height: 200px;
56     -webkit-flex: 2;
57     -moz-flex: 1;
58     flex: 1;
59     -webkit-order: 2;
60     -moz-order: 2;
61     order: 2;
62     color: #fff;
63     background: blue;
64 }

效果:

时间: 2024-11-05 14:58:18

css3弹性盒子模型的相关文章

css3弹性盒子模型之box-flex

css3弹性盒子模型之box-flex 浏览器支持 目前没有浏览器支持 box-flex 属性. Firefox 支持替代的 -moz-box-flex 属性. Safari.Opera 以及 Chrome 支持替代的 -webkit-box-flex 属 box-flex是css3新添加的盒子模型属性),它的出现打破了我们经常使用的浮动布局,实现垂直等高.水平均分.按比例划分.但是它有一定的局限性,在firefox.chrome这浏览器下需要使用它们的私有属性来定义:firefox(-moz)

css3弹性盒子模型之box-flex(修正版一)

http://www.rainleaves.com/html/1095.html css3弹性盒子模型之box-flex(修正版一) 发表于 2011/12/06 9 条回复 18,699 views 今天看到蓝色理想上面有一篇文章讲<css3弹性盒模型布局模块介绍>里面讲到用box-flex,突然觉得有点心慌,上次看到响应式网页设计里面也同样讲到flex box自适应布局,而上次竟然没有引起自己的注意,想深入研究一下,竟然给忘记了,于是就在这种不断的忘记中彻底变成outer.今天借此机会,好

浅谈css3弹性盒子模型

昨晚听了一个微信小程序的公开课,在布局时,无意间看到了弹性盒子的身影,之前只知道box-flex,但是由于兼容性问题,使用者很少,毕竟市面上的大多浏览器都必须加前缀才能实现,也就意味着多写几行代码,其实这都不是事,可是大部分CXY都比较懒,能一行代码搞定的事绝不写两行.废话有点多了.转回正题. 我学东西遵循着,是什么?为什么?怎么用?有什么问题?下面我就按这四个方向深入聊聊,水平有限,有问题的地方请多多指教.. 一.是什么? 相信大多数CXY遇到问题,不知是骡子还是马,都会习惯性谷歌之,我也不例

用css3弹性盒子模型实现九宫格布局

html结构: <div class="box"> <div class="top"> <div class="left">左上</div> <div class="center">上</div> <div class="right">右上</div> </div> <div class=&qu

CSS3中的弹性盒子模型

介绍 在css2当中,存在标准模式下的盒子模型和IE下的怪异盒子模型.这两种方案表示的是一种盒子模型的渲染模式.而在css3当中,新增加了弹性盒子模型,弹性盒子模型是一种新增加的强大的.灵活的布局方案.弹性盒子模型是css3中新提出的一种布局方案.是一种为了应对针对不同屏幕宽度不同设备的一整套新的布局方案.主要是对一个容器中的子元素进行排列.对齐和分配空白空间的方案的调整. 新旧版本的弹性盒子模型在之前,css3曾经推出过旧版本的弹性盒子模型.相对于新版本的弹性盒子模型而言,旧版本的内容与新版本

web前端入门到实战:CSS3中的弹性盒子模型

介绍 在css2当中,存在标准模式下的盒子模型和IE下的怪异盒子模型.这两种方案表示的是一种盒子模型的渲染模式.而在css3当中,新增加了弹性盒子模型,弹性盒子模型是一种新增加的强大的.灵活的布局方案.弹性盒子模型是css3中新提出的一种布局方案.是一种为了应对针对不同屏幕宽度不同设备的一整套新的布局方案.主要是对一个容器中的子元素进行排列.对齐和分配空白空间的方案的调整. 新旧版本的弹性盒子模型在之前,css3曾经推出过旧版本的弹性盒子模型.相对于新版本的弹性盒子模型而言,旧版本的内容与新版本

flex-direction css3属性设定弹性盒子模型子元素反向排列

设定弹性盒子模型(display:flex)让子元素反向排列 示例说明:display: flex; 声明了盒子为flex弹性盒子布局,flex: 1; 声明了子元素占1份, flex-direction: row-reverse; /*这个属性就是在水平方向上反转*/<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>设定

CSS3弹性盒模型flexbox完整版教程

文章目录 基础知识 属性介绍 display: flex | inline-flex; (适用于父类容器元素上) 请注意: flex-direction (适用于父类容器的元素上) flex-wrap (适用于父类容器上) flex-flow (适用于父类容器上) justify-content (适用于父类容器上) align-items (适用于父类容器上) align-content (适用于父类容器上) order (适用于弹性盒模型容器子元素) flex-grow (适用于弹性盒模型容

[ css 弹性盒子模型 box-flex 及相关属性 ] box-flex属性弹性盒子模型讲解及实例演示

box-flex属性(和谐版) 有道桌面词典显示,”flex”一词中文有“收缩”之意.不过,从此属性实际上产生的效果来看,无论怎样用“收缩”一词解释都显得很牵强.所以,这里,直接抛开字面意思,我们可以将”box-flex”理解为”房子-分配”.box为“盒子”的意思,我们可以理解为当下价格巨高的“房子”,”flex”指兄弟几个“分配房子”. 举个更实际点的例子:马林大叔省吃俭用一辈子,终于在上海郊外买了间150平米的商品房.后来,马林大叔想回老家养老,决定把房子分配给他的三个儿子.ok,先暂停下