css3中 弹性盒模型布局之box-flex
box-flex:也就是让子容器针对父容器的宽高属性依照一定的规则来划分
Eg:
html代码:
<div class="wrap">
<div class="box1">01</div>
<div class="box2">02</div>
<div class="box3">03</div>
</div>
CSS样式:
<style type="text/css">
body,div { background:#fff; margin:0; padding:0;}
.wrap { width:600px; height:200px; color:#fff; margin:20px 0 0 20px; text-align:center;
display:-moz-box; display:-webkit-box; display:box;
-moz-box-orient:block-axis; -webkit-box-orient:block-axis; box-orient:block-axis;
-moz-box-direction:reverse; -webkit-box-direction:reverse; box-direction:reverse;
}
.box1 {background:red;
-moz-box-flex:3; -webkit-box-flex:3; box-flex:3;
-moz-box-ordinal-group:1; -webkit-box-ordinal-group:1; box-ordinal-group:1;
}
.box2 {background:green;
-moz-box-flex:1; -webkit-box-flex:1; box-flex:1;
-moz-box-ordinal-group:3; -webkit-box-ordinal-group:3; box-ordinal-group:3;
}
.box3 {background:blue;
-moz-box-flex:2; -webkit-box-flex:2; box-flex:2;
-moz-box-ordinal-group:2; -webkit-box-ordinal-group:2; box-ordinal-group:2;
}
</style>
预览效果:
解析:
先看父级的元素中中设置的属性
1、box-orient:block-axis; 使得子元素依照块级类型竖向显示。
2、box-direction:reverse; 使得子元素显示顺序与默认相颠倒。
再看子元素中的属性(这个以红色区域且标有01文字的模块为例来做具体介绍)
1、box-flex:3; 子元素按照无级元素设置了占有比例。
从全局来看,一共将低级元素划分成了6份。而红色区域是占了3/6的。即上图中显示所总体高度的1/2。
2、box-ordinal-group:1; 即给每个子元素定义了一个组,则依照组的大小来呈现,先小后大; 依照组中定义的大小,本应该是红色居上、蓝色居中、绿色最下显示,而在父级的元素中中定义了一个子元素的反向呈现方式(box-direction:reverse),即与默认相反。
讲到这里。我想大家都豁然开朗了吧!呵呵,当然也存在疑问。假设想让当中某一模块设置为固定数字。那么其它模块又会按如何的比例来呈现呢?我们能够再看一下以下这个样例(由例1稍做修改)。
静态代码不变、样式由之前的改为:
<style type="text/css">
body,div { background:#fff; margin:0; padding:0;}
.wrap { width:600px; height:200px; color:#fff; margin:20px 0 0 20px; text-align:center;
display:-moz-box; display:-webkit-box; display:box;
-moz-box-orient:block-axis; -webkit-box-orient:block-axis; box-orient:block-axis;
-moz-box-direction:reverse; -webkit-box-direction:reverse; box-direction:reverse;
}
.box1 {background:red;
-moz-box-flex:3; -webkit-box-flex:3; box-flex:3;
-moz-box-ordinal-group:1; -webkit-box-ordinal-group:1; box-ordinal-group:1;
}
.box2 {background:green;
height:100px;
-moz-box-ordinal-group:3; -webkit-box-ordinal-group:3; box-ordinal-group:3;
}
.box3 {background:blue;
-moz-box-flex:2; -webkit-box-flex:2; box-flex:2;
-moz-box-ordinal-group:2; -webkit-box-ordinal-group:2; box-ordinal-group:2;
}
</style>
预览效果:
这个时候。绿色模块的高度是固定的,设置为100,占领了父元素的一半。
从预览图能够看出,无论哪个模块。一旦设置了固定的宽或者是高,则优先级会比較高。而其它模块呢,还是依照之前的那种思路。用对应比例来显示。要注意的是,这时候的总宽或者高就变了。应
css3中 弹性盒模型布局之box-flex的更多相关文章
- CSS3 中弹性盒模型--容器的属性
1.display : flex | inline-flex注意,设为 Flex 布局以后,子元素的float.clear和vertical-align属性 将失效. 2.flex-direction ...
- CSS3弹性盒模型布局模块介绍
来源:Robert’s talk原文:http://robertnyman.com/2010/12/02/css3-flexible-box-layout-module-aka-flex-box-in ...
- 87.CSS Flex 弹性盒模型布局教程(共用的css在48篇文章gird)
CSS Flex 弹性盒模型布局教程 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. flex布局就是给任何一个容器添加 dis ...
- 彻底搞懂flex弹性盒模型布局
为什么要用flex 基于css3简单方便,更优雅的实现,浏览器兼容性好,传统的css实现一个div居中布局要写一堆代码,而现在几行代码就搞定了,没有理由不用flex. 兼容性: Base Browse ...
- CSS-3 新弹性盒模型属性
flex 语法:flex:none | [ flex-grow ] || [ flex-shrink ] || [ flex-basis ] 取值: none:none关键字的计算值为: 0 0 au ...
- css3之弹性盒模型初探(一)
什么是弹性盒模型? 弹性盒模型是指在父级改变大小的时候内部的自己元素也会相应的改变大小,即子集会按照父级的大小按比例自适应大小. 弹性盒模型的提出可以解决一些响应式布局的需求 如何使用弹性盒模型? ...
- 详细介绍弹性盒模型(display:flex)
弹性盒模型,即Flexbox,是css3中的新特性,其实弹性盒模型的原身是dispaly:box:这里,我们暂时不考虑旧的,我们只看新的. 为容器指定弹性盒子,只需在父元素(也就是容器)中设置:dis ...
- css3之弹性盒模型(Flex Box)
CSS3 弹性盒子(Flex Box) 弹性盒子是 CSS3 的一种新的布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时 ...
- CSS3弹性盒模型布局模块
原文:http://robertnyman.com/2010/12/02/css3-flexible-box-layout-module-aka-flex-box-introduction-and-d ...
随机推荐
- printf的实型
参 数 说 明 %f 按实数格式输出,整数部分按实际位数输出,6位小数 %m.nf 总位数m(含小数点),其中有n位小数 %-m.nf 同上,左对齐 %0.xf 输出小数点后x位 %f 后面如 ...
- ACM_求交集
求交集 Time Limit: 2000/1000ms (Java/Others) Problem Description: 输入集合A和B,按大小顺序输出A和B的交集. Input: 输入包含多组测 ...
- Sql Server 如何解决多并发情况下,出现的多个相同ID数据
在数据库中单独创建一张表,保存当前存储状态,“存储过程” 设置访问条件root初始值为“0” 如果root值不为0的时候就不可访问并进行相关操作. 在事务执行前将root值设置为1,事务结束后将ro ...
- [ SHOI 2001 ] 化工厂装箱员
\(\\\) \(Description\) 传送带上按顺序传过来\(N\)个物品,一个有\(A,B,C\)三类. 每次装箱员手里只能至多拿十个,然后将手中三类物品中的一类装箱,才能接着拿或接着装箱, ...
- Alpha Edition [ Group 1 ]
Deltafish Alpha Edition 一.博客归档(记录人:娄雨禛) 小组会议 DeltaFish 校园物资共享平台 第一次小组会议 DeltaFish 校园物资共享平台 第二次小组会议 D ...
- html5——2D转换
transform 属性 1.向元素应用 2D 或 3D 转换 2.该属性允许我们对元素进行旋转.缩放.移动或倾斜. 缩放与位移 transform: scale(, 0.5);//水平缩放,垂直缩放 ...
- html5——css选择器
复习 div>p: 子代 div+p:div后面相邻的第一个p div~p: div后面所有的兄弟p 属性选择器 标志:[]:区别于id选择器:#,区别于类名选择器:. 特殊符号:^:开头 ...
- Cesium学习笔记(九):导入3D模型(obj转gltf)
在用cesium的过程中难免需要导入别人做好的3D模型,这时候就需要将这些模型转成gltf格式了 当然,官方也给了我们一个网页版的转换器,但是毕竟是网页版的,效率极其低下,文件还不能太大,所以我们就需 ...
- CAD绘制一个对齐标注(com接口VB语言)
主要用到函数说明: _DMxDrawX::DrawDimAligned 绘制一个对齐标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 第一条界线开始点X值 DOUBLE ...
- HTML5轻松实现全屏视频背景
想在你的网页首页中全屏播放一段视频吗?而这段视频是作为网页的背景,不影响网页内容的正常浏览.那么我告诉你有一款Javascript库正合你意,它就是Bideo.js. 参考网址: https://ww ...