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 ...
随机推荐
- Spring Cloud (13) 服务网关-路由配置
传统路由配置 所谓传统路由配置方式就是在不依赖于服务发现机制情况下,通过在配置文件中具体制定每个路由表达式与服务实例的映射关系来实现API网关对外部请求的路由.没有Eureka服务治理框架帮助的时候, ...
- MVC系列学习(十五)-验证码
1.方式一: public class VCode { /// <summary> /// 生成验证码图片 字节数组 /// </summary> /// <return ...
- CF830A/831D Office Keys
思路: 问题的关键在于对钥匙按照位置排序之后,最终选择的n个钥匙一定是其中的一个连续的区间. 实现: #include <iostream> #include <cstdio> ...
- 给网站添加运行时间的JavaScript完整代码
function secondToDate(second) { if (!second) { return 0; } var time = new Array(0, 0, 0, 0, 0); if ( ...
- eclipse整合maven下载jar包速度慢问题解决
引用:http://blog.csdn.net/u010154380/article/details/70339538 开发过程中在pom.xml中添加pom的时候,默认是需要从中央仓库中下载,但是下 ...
- IC验证概念总结
一份代码,在写完之后,一定要再经过一次或多次整理和打磨,才能算完成的:一份代码,一定要把其有效代码行,精简.锤炼到最少.最短.最有效,才能算完成的. 下面这些问题和回答是忘记是在哪里看到的了,参考 ...
- python自动化测试框架(一)
1.开发环境 名称 版本 系统 windows 7 python版本 2.7.14 IDE pycharm2017 2.大致框架流程 :展示了框架实现的业务流程 3.框架介绍 3.1 ======完善 ...
- js indexOf 列表筛选
先来一堆效果图: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 实例分割:MaskXRCnn 与Visual Genome数据集
一.VG数据集 机器学习领域的突破突然让计算机获得了以未曾有的高精度识别图像中物体的能力--几乎达到了让人惊恐的程度.现在的问题是机器是否还能更上层楼,学会理解这些图片中所发生的事件. Visual ...
- 【sqli-labs】 less45 POST -Error based -String -Stacked Blind(POST型基于盲注的堆叠字符型注入)
和Less44一个名字 测试一下,发现是')闭合的 login_user=&login_password=1') or sleep(0.1)# 那就是没有错误显示的less42 login_u ...