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 相关文章推荐
css3中背景尺寸background-size详解
Sep 02 HTML / CSS
详解css3中的伪类before和after常见用法
Nov 17 HTML / CSS
使用HTML5的链接预取功能(link prefetching)给网站提速
Dec 13 HTML / CSS
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
Jan 31 HTML / CSS
html5新增的属性和废除的属性简要概述
Feb 20 HTML / CSS
html5+css3气泡组件的实现
Nov 21 HTML / CSS
HTML5公共页面提取作为公用代码的方法
Jun 30 HTML / CSS
详解如何使用rem或viewport进行移动端适配
Aug 14 HTML / CSS
AmazeUI图片轮播效果的示例代码
Aug 20 HTML / CSS
CSS3实现的3D隧道效果
Apr 27 HTML / CSS
纯html+css实现Element loading效果
Aug 02 HTML / CSS
HTML5 语义化标签(移动端必备)
Aug 23 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里面的抽象类
2010/01/28 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
JS拉起或下载app的实现代码
2017/02/22 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
Vue 子组件与数据传递问题及注意事项
2019/07/11 Javascript
python实现读取命令行参数的方法
2015/05/22 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
Python自定义简单图轴简单实例
2018/01/08 Python
pandas数据清洗,排序,索引设置,数据选取方法
2018/05/18 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
python接口自动化框架实战
2020/12/23 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
电子商务网站的创业计划书
2014/01/05 职场文书
中学家长会邀请函
2014/01/17 职场文书
环保倡议书
2014/04/14 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android