css3弹性盒模型实例介绍


Posted in HTML / CSS onMay 27, 2013

Css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间。这与XUL(火狐使用的用户交互语言)相似,其它语言也使用相同的盒模型,如XAML 、GladeXML。使用该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局。本文的例子使用以下的HTML代码:

复制代码
代码如下:

<body>
<div id="box1">1</div>
<div id="box2">2</div>
<div id="box3">3</div>
</body>

传统的盒模型基于HTML流在垂直方向上排列盒子。使用弹性盒模型可以规定特定的顺序,也可以反转之。要开启弹性盒模型,只需设置拥有子盒子的盒子的display的属性值为box(或inline-box)即可。
display: box;
水平或垂直分布
“box-orient”定义分布的坐标轴:vertical和horizional。这两个值定义盒子如何显示,
复制代码
代码如下:

body{
display: box;
box-orient: horizontal;
}

css3弹性盒模型实例介绍 
反向分布
“box-direction”可以设置盒子出现的顺序。默认情况下,只需定义分布坐标轴——box随html流分布。如果为水平坐标轴,则从左到右分布;垂直坐标轴则从上到下分布。定义“box-direction”的属性值为“reverse”,则反转盒子的排列顺序。
复制代码
代码如下:

body {
display: box;
box-orient: vertical;
box-direction: reverse;
}

css3弹性盒模型实例介绍
具体分布
属性“box-ordinal-group”定义盒子分布的顺序。可以随意的控制其分布顺序。这些组以一个从“1”开始的数字定义,盒模型将首先分布这些组,所有这些盒子将在每个组中。分布将从小到大排列。
复制代码
代码如下:

body {
display: box;
box-orient: vertical;
box-direction : reverse;
}
#box1 {box-flex:1;box-ordinal-group: 2;}
#box2 {box-flex:2;box-ordinal-group: 2;}
#box3 {box-flex:2;box-ordinal-group: 1;}

盒子尺寸
默认情况下,盒子并不具有弹性,如果box-flex的属性值至少为1时,则变得富有弹性。box-flex如何对父容器的宽度进行划分,三个子块分别设置了1、2、2,也就是把这个父容器分成5份,分别占据了父结构宽度的1/5(100px)、2/5(200px)、2/5(200px)。如果盒子不具有弹性,它将尽可能的宽使其内容可见,且没有任何溢出,其大小由“width”和“height”来决定(或min-height、min-width、max-width、max-height)。
HTML / CSS 相关文章推荐
收集的22款给力的HTML5和CSS3帮助工具
Sep 14 HTML / CSS
用纯css3和html制作泡沫对话框实现代码
Mar 21 HTML / CSS
css3的@media属性实现页面响应式布局示例代码
Feb 10 HTML / CSS
10分钟理解CSS3 FlexBox弹性布局
Dec 20 HTML / CSS
Html5内唤醒百度、高德APP的实现示例
May 20 HTML / CSS
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
Dec 09 HTML / CSS
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
Jun 23 HTML / CSS
HTML5 canvas基本绘图之绘制五角星
Jun 27 HTML / CSS
canvas实现圆形进度条动画的示例代码
Dec 26 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
Aug 06 HTML / CSS
HTML5逐步分析实现拖放功能的方法
Sep 30 HTML / CSS
在CSS中使用when/else的方法
Jan 18 HTML / CSS
深入CSS3 动画效果的总结详解
May 09 #HTML / CSS
基于CSS3特效之动画:animation的应用
May 09 #HTML / CSS
纯CSS3实现手风琴风格菜单具体步骤
May 06 #HTML / CSS
CSS3——齿轮转动关键代码
May 02 #HTML / CSS
如何利用CSS3制作3D效果文字具体实现样式
May 02 #HTML / CSS
使用JS+CSS3技术:让你的名字动起来
Apr 27 #HTML / CSS
CSS3 绘制BMW logo实的现代码
Apr 25 #HTML / CSS
You might like
将PHP作为Shell脚本语言使用
2006/10/09 PHP
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
Redis构建分布式锁
2017/03/28 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
Javascript的并行运算实现代码
2010/11/19 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
node.js中axios使用心得总结
2017/11/29 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
一个简单的python程序实例(通讯录)
2013/11/29 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
车辆维修工自我评价怎么写
2013/09/20 职场文书
书法社团活动总结
2015/05/07 职场文书
复兴之路展览观后感
2015/06/02 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
实习报告怎么写
2019/06/20 职场文书
撤回我也能看到!教你用Python制作微信防撤回脚本
2021/06/11 Python