简述css盒子模型的认识(CSS3弹性盒模型开发笔记一)
简述css盒子模型的认识
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-orient:horizontal | vertail | inline-axis | block-axis | inherit
取值简单说明:
horizontal:盒子元素从左到右在一条水平线上显示它的子元素。
vertail:盒子元素从上到下在一条垂直线上显示它的子元素。
inline-axis:盒子元素沿着内联轴显示它的子元素。
block-axis:盒子元素沿着块轴显示它的子元素。
实战体验:设计多栏布局
html代码:
- <li id="box">
- <li id="box0"><img src="images/web_01.jpg" alt="简述css盒子模型的认识(CSS3弹性盒模型开发笔记一)" border="0" /> /></li>
- <li id="sub-box">
- <li id="box1"><img src="images/web_02.jpg" alt="简述css盒子模型的认识(CSS3弹性盒模型开发笔记一)" border="0" /> /></li>
- <li id="box2"><img src="images/web_03.jpg" alt="简述css盒子模型的认识(CSS3弹性盒模型开发笔记一)" border="0" /> /></li>
- <li id="box3"><img src="images/web_04.jpg" alt="简述css盒子模型的认识(CSS3弹性盒模型开发笔记一)" border="0" /> /></li>
- </li>
- </li>
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-direction:normal | 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代码:
- <li id="box">
- <li id="box1"><img src="images/web1_01.jpg" alt="简述css盒子模型的认识(CSS3弹性盒模型开发笔记一)" border="0" /> /></li>
- <li id="box2"><img src="images/web1_02.jpg" alt="简述css盒子模型的认识(CSS3弹性盒模型开发笔记一)" border="0" /> /></li>
- <li id="box3"><img src="images/web1_03.jpg" alt="简述css盒子模型的认识(CSS3弹性盒模型开发笔记一)" border="0" /> /></li>
- <li id="box4"><img src="images/web1_04.jpg" alt="简述css盒子模型的认识(CSS3弹性盒模型开发笔记一)" border="0" /> /></li>
- </li>
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弹性盒模型有所帮助。
本文地址:http://blog.csdn.net/lovejulyer/article/details/51231951
- CSS3弹性布局
- 云服务器弹性体现在哪些方面(云服务器的性能表现在哪些方面?)
- 弹性云主机的组成(什么叫弹性云服务器?弹性云主机的“弹性”反映在哪?)
- css3弹性布局(CSS3弹性布局内容对齐justify-content属性使用详解)
- 简述css盒子模型的认识(CSS3弹性盒模型开发笔记一)
- css3弹性盒模型常用属性(CSS3弹性盒模型开发笔记三)
- css3网格布局图(详解CSS3 弹性布局快速入门)
- css3盒子布局(CSS3弹性伸缩布局之box布局)
- css弹性布局设置每行显示指定个数(CSS实现多行多列的布局的实例代码)
- 魅族智能手表充电座曝光 Type-C 接口,线座分离设计(魅族智能手表充电座曝光)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
- 你知道 七夕 的真正含义吗(你知道七夕的真正含义吗)
- 七夕的寓意(七夕的寓意)
- 苏志燮赵恩静结婚,韩国四大公共财产变三人,这么快就有替补了(苏志燮赵恩静结婚)
热门推荐
- 阿里云服务器怎么登录查看代码(如何登陆阿里云服务器,阿里云服务器怎么登陆)
- sqlserver怎么写判断条件(SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解)
- 数据库常见的索引结构(数据库索引知识点整理)
- jquery使用data缓存数据
- 如何在新公司建立良好形象
- 微信公众号怎么开发页面(微信公众平台开发教程②微信端分享功能图文详解)
- dedecms关闭站点(dedecms恶意注册与发广告文章的解决办法)
- django修改端口(django2.0扩展用户字段示例)
- sqlserver分表后如何查询(SQL Server中row_number分页查询的用法详解)
- php生成md5(php进行md5加密简单实例方法)