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 ...
随机推荐
- 发布 Windows 服务
1. 如何新建 Windows 服务 打开VS,“新建项目”-->“windows 桌面”-->“windows 服务”: http://www.cnblogs.com/sorex/arc ...
- [转]Linux定时任务Crontab详解
转自:http://blog.chinaunix.net/uid-7552018-id-182133.html 今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置.Linux ...
- C#学习-图片的处理
1.在图片上加防伪标记 private void btnAddString_Click(object sender, EventArgs e) { //以流的方式,获取一张图片 using (File ...
- maven 纯注解一步一步搭建Spring Mvc项目(入门)
初次接触spring MVC项目,通过一段时间的学习,本文介绍一种以纯注解的方法去配置spring MVC环境,让那些配置的.xml文件统统见鬼吧. 什么是Spring MVC Spring MVC属 ...
- Java_注解之二
在上一次的注解案例里面配置注解的同时,也添加了一对多(@OneToMany)的关系在里面. 本次将补充上次的缺失:其他三种关联方式的配置. 为了简化配置的复杂度 在此案例中Emp和Dept并不是唯 ...
- Xml的读取
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace WebAp ...
- 常用的Axure操作方法(1)
1. 保存原型图片到本地,如在网页上看到图标素材,好多个在一张图上. 如上图所示,将图片拖入axure中,利用分割或者裁剪,把小图标 ...
- html5——多媒体(三)
自定义进度条 1.video标签是内联块,可以设置宽高,但是需要用大盒子将其包裹起来进行定位 2.小盒子设计成进度条样式,并进行定位 3.进度条样式中的特殊按钮可以用web字体 4.通过点击实现视频的 ...
- Object未定义
js加载时会在jquery中报Object未定义的错误? 原因: 页面和iframe页面中都引入了jquery 或者 是页面中包含iframe,并且在iframe没有完成加载前操作了iframe中的j ...
- kickstart配置文件详解和system-config-kickstart (转载)
kickstart是什么 许多系统管理员宁愿使用自动化的安装方法来安装红帽企业 Linux.为了满足这种需要,红帽创建了kickstart安装方法.使用kickstart,系统管理员可以 ...