CSS3弹性盒模型开发笔记(一)
弹性盒模型(Flexible Box Moudle),该模型用于决定元素在盒子中的分布方式以及处理盒子的可用空间。这与XUL(Firefox浏览器的用户交互语言)相似,其他语言也使用相同的盒模型。如XAML,GladeXML等。通过弹性盒模型,可以轻松地创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局。
兼容性弹性盒模型规范是W3C标准化组织于2009年发布的,目前还没有主流浏览器对其进行支持,不过采用Webkit和Mozilla渲染引擎的浏览器都自定义了一套私有属性,用来支持弹性盒模型。
采用Webkit渲染引擎的浏览器主要包括Safari和Chrome浏览器,该引擎支持以-webkit为前缀的私有属性。
Mozilla渲染引擎的浏览器主要包括Firefox浏览器,该引擎支持以-moz为前缀的私有属性。
相关属性
box-align定义子元素在盒子垂直方向上的空间分配方式
box-direction定义盒子的显示顺序
box-flex定义子元素在盒子内的自适应尺寸
box-flex-group定义自适应子元素群组
box-lines定义子元素分列显示
box-ordinal-group:定义子元素在盒子内的显示位置
box-orient:定义盒子分部的坐标轴
box-pack定义子元素在盒子内水平方向的空间分配方式
box-orient属性
该属性可用于定义盒子元素内部的流动布局方向.在使用弹性盒子模型时,需要先把父容器的display属性设置为box或者inline-box。
语法
box-orienthorizontal | vertail | inline-axis | block-axis | inherit
取值简单说明
horizontal盒子元素从左到右在一条水平线上显示它的子元素。
vertail盒子元素从上到下在一条垂直线上显示它的子元素。
inline-axis盒子元素沿着内联轴显示它的子元素。
block-axis盒子元素沿着块轴显示它的子元素。
实战体验设计多栏布局
html代码
- <div id="box">
- <div id="box0"><img src="images/web_01.gif" /></div>
- <div id="sub-box">
- <div id="box1"><img src="images/web_02.gif" /></div>
- <div id="box2"><img src="images/web_03.gif" /></div>
- <div id="box3"><img src="images/web_04.gif" /></div>
- </div>
- </div>
CSS3代码
- <style type="text/css">
- body{/文档样式/
- margin:0;padding:0px;/清除页边距/
- text-align:center;/文档居中对齐/
- background:#170843;
- }
- #box{
- margin:auto;/文档居中对齐/
- text-align:center;
- width:975px;
- }
- /定制各个栏目的宽度/
- #box1{width:185px;}
- #box2{width:601px;}
- #box3{width:189px;}
- /定制子包含框的盒子显示,其包含的元素水平流动/
- #sub-box{
- display:-moz-box;
- display:-webkit-box;
- display:box;
- box-orient:horizontal;
- -moz-box-orient:horizontal;
- -webkit-box-orient:horizontal;
- }
- </style>
演示效果
box-direction属性
box-direction属性可以改变盒子元素中内部元素的流动顺序,该属性基本语法
box-directionnormal | reverse | inherit
取值简单说明
normal正常显示顺序,即如果盒子元素的box-origent属性值为horizontal,则其包含的子元素按照从左到右的顺序显示,即每个子元素的左边总是靠近前一个子元素的右边;如果盒子元素的box-origent属性值设置为vertical,则其包含的子元素按照从上到下的顺序显示。
reverse反向显示,盒子所包含的子元素的显示顺序将于normal相反。
inherit继承上级元素的显示顺序。
实战体验反向布局网页(以上面的案例为基础)
CSS3代码
- <style>
- body{
- margin:0;padding:0px;
- text-align:center;
- background:#170843;
- }
- #box{
- margin:auto;
- text-align:center;
- width:975px;
- }
- #box1{width:185px;}
- #box2{width:601px;}
- #box3{width:189px;}
- #sub-box{
- display:-moz-box;
- display:-webkit-box;
- display:box;
- box-orient:horizontal;
- -moz-box-orient:horizontal;
- -webkit-box-orient:horizontal;
- box-direction:reverse;
- -moz-box-direction:reverse;
- -webkit-box-direction:reverse;
- }
- </style>
演示效果
box-ordinal-group属性
box-direction属性可以改变盒子内部元素的流动顺序,而box-ordinal-group属性能够设置每个子元素在盒子中的具体显示位置,语法如下
box-ordinal-group<integer>
取值说明
属性值是一个自然数,从1 开始,用来设置子元素的位置符号。子元素的分布将根据这个属性值从小到大进行排列。在默认情况下,子元素将根据元素的位置进行排列。
注意如果没有指定box-ordinal-group属性值的子元素,则其序号默认都为1,并且序号相同的元素将按照他们在文档中的加载的顺序进行排列。
实战体验垂直网页布局
HTML代码
- <div id="box">
- <div id="box1"><img src="images/web1_01.gif" /></div>
- <div id="box2"><img src="images/web1_02.gif" /></div>
- <div id="box3"><img src="images/web1_03.gif" /></div>
- <div id="box4"><img src="images/web1_04.gif" /></div>
- </div>
CSS3代码
- <style type="text/css">
- body {
- margin:0;
- padding:0;
- text-align:center;
- background:#d9bfe8;
- }
- #box {
- margin:auto;
- text-align:left;
- width:988px;
- }
- /定义盒形显示及盒内元素垂直显示/
- #box {
- display : -moz-box;
- display : -webkit-box;
- display : box;
- box-orient:vertical;
- -moz-box-orient:vertical;
- -webkit-box-orient:vertical;
- }
- /根据网页内容的现实需要,借助弹性盒模型调整各个板块的显示顺序/
- #box1 {/设置第一个元素显示在第二个位置/
- -moz-box-ordinal-group : 2;/兼容Mozilla Gecko引擎/
- -webkit-box-ordinal-group : 2;/兼容Webkit引擎/
- box-ordinal-group : 2;/标准用法/
- }
- #box2 {/设置第二个元素显示在第三个位置/
- -moz-box-ordinal-group : 3;/兼容Mozilla Gecko引擎/
- -webkit-box-ordinal-group : 3;/兼容Webkit引擎/
- box-ordinal-group : 3;/标准用法/
- }
- #box3 {/设置第三个元素显示在第一个位置/
- -moz-box-ordinal-group : 1;/兼容Mozilla Gecko引擎/
- -webkit-box-ordinal-group : 1;/兼容Webkit引擎/
- box-ordinal-group : 1;/标准用法/
- }
- #box4 {/设置第四个元素显示在第四个位置/
- -moz-box-ordinal-group : 4;/兼容Mozilla Gecko引擎/
- -webkit-box-ordinal-group : 4;/兼容Webkit引擎/
- box-ordinal-group : 4;/标准用法/
- }
- </style>
演示效果
以上就是关于CSS3弹性盒模型基础开发知识,希望对大家认识CSS3弹性盒模型有所帮助。
本文地址
长沙网站设计
- 如何自己建一个网站 自己想建个网站,怎么建
- 如何制作网站免费建站 创建网站免费注册
- html简单网页代码 html简单网页代码超链接
- dreamweaver网页制作 dreamweaver网页制作模板
- 上海网站建设 上海网站建设制作微信
- 如何制作网站和网页 如何制作一个网页
- html网页制作代码大全 端午节html网页制作代码大
- app开发公司 app开发公司前十名
- html网页制作 html网页制作文字居中
- app制作一个需要多少钱 请人制作一个app多少钱
- 成都网站制作 成都网站制作维护
- 百度建一个网站多少钱 百度做个公司网站要多少
- html+css网页制作成品 web网页制作成品css+javascrip
- html网页制作案例 html网页设计案例
- html+css网页制作成品 web网页制作成品css+javascrip
- 个人网站模板 个人网站模板HTML