布局简介

CSS3提供了一种崭新的布局方式:Flexbox布局,即弹性伸缩布局模型(Flexible Box)用来提供一个更加有效的方式实现响应式布局。

由于这种布局还处于W3C的草案阶段,并且它分为旧版本、新版本、混合过渡版本三种不同的编码方式。浏览器的兼容性存在一定的问题

首先,我们来看看旧版本的浏览器兼容情况

PS:这是网上的图,浏览器兼容信息可以通过该网站查询:http://www.caniuse.com

开始之前,我们先创建一段内容,分为三个区域

//HTML代码部分
<div>
<p>我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林</p>
<p>我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林</p>
<p>我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林</p>
</div>
//CSS部分
p{
width:150px;
margin:5px;
padding: 5px;
border: 1px solid gray;
background: silver;
}

这时候网页是这样的:

下面我们将重点研究属性的含义

旧版本

如果属性和属性值为:display:box;那么就是2009年7月份设定的工作草案,属于旧版本,它面向的是一些早期浏览器的弹性布局方案

首先我们要给父元素设置一下容器属性display

div{
display: -webkit-box;
}

让我们刷新看下效果:

由于现在浏览器不支持标准写法,所以只能加前缀了,后面都一样。并且box和inline-box在这里效果其实一样,就不多写了。

1.box-orient

//主要实现元素内部的流动方向,有四个值

在div中加入这么一行代码:

-webkit-box-orient: vertical;

刷新网页,可以看到排列方向又变垂直了,剩下的几个值,大家可以自己去尝试下

2.box-direction

//主要设置伸缩容器中的流动顺序,两个值

-webkit-box-direction: reverse;

加入前:

加入后:

3.box-pack

//设置容器中元素的分布方式

让我们看下相应的效果吧

-webkit-box-pack: end;

-webkit-box-pack: center;

-webkit-box-pack: justify;

4.box-align

//处理伸缩属相上的额外空间

让我们看看相应的效果

-webkit-box-align: start;

-webkit-box-align: end;

-webkit-box-align: center;

-webkit-box-align: baseline;

-webkit-box-align: stretch;//默认

5.box-flex

//box-flex属性可以使用浮点数分配伸缩项目的比例

那么我们就来试试吧,代码和效果如下

p:nth-child(1){
-webkit-box-flex:1;
}
p:nth-child(2){
-webkit-box-flex:2.5;
}
p:nth-child(3){
-webkit-box-flex:1;
}

6.box-ordinal-group

//可以设置伸缩项目的显示位置

p:nth-child(1){
-webkit-box-flex:1;
-webkit-box-ordinal-group:2;
}
p:nth-child(2){
-webkit-box-flex:2.5;
-webkit-box-ordinal-group:1;
}
p:nth-child(3){
-webkit-box-flex:1;
-webkit-box-ordinal-group:3;
}

设置前:

设置后:

小结

旧版box弹性伸缩布局就到这了,下一篇博客是将会介绍过渡版的flexbox弹性伸缩布局,敬请期待,我是汕大小吴,希望大家继续关注我的博客哦

CSS3弹性伸缩布局(上)——box布局的更多相关文章

  1. CSS3弹性伸缩布局(一)——box布局

    CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃 ...

  2. CSS3弹性伸缩布局(二)——flex布局

    上一篇博客<CSS3弹性伸缩布局(一)——box布局>介绍了旧版本的box布局,而这篇博客将主要介绍最新版本的flex布局的基础知识. 新版本简介 新版本的Flexbox模型是2012年9 ...

  3. css3弹性伸缩布局(一)—————flex布局

    CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案—-Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃而解 ...

  4. CSS3弹性盒子(Flex Box)

    CSS3弹性盒子(Flex Box) 一.容器的属性:flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-content 1 ...

  5. 第 29 章 CSS3 弹性伸缩布局[上]

    学习要点: 1.布局简介 2.旧版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.布局简介 CSS3 提供一种崭新的 ...

  6. 第 29 章 CSS3 弹性伸缩布局[下]

    学习要点: 1.新版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.新版本 新版本的 Flexbox 模型是 201 ...

  7. 第 29 章 CSS3 弹性伸缩布局[中]

    学习要点: 1.混合过度版 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.混合过渡版 混合版本的 Flexbox 模型 ...

  8. CSS3弹性伸缩布局(中)——flexbox布局

    混合过渡版 上一篇我们主要讲了旧版box布局,今天这篇主要讲flexbox布局. 混合版本的Flexbox模型是2011年提出的工作草案,主要是针对IE10浏览器实现的伸缩布局效果,其功能和旧版本的功 ...

  9. CSS3弹性盒模型,Flex布局教程

    布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. CSS3中引入flex的弹性盒模型 ...

随机推荐

  1. ES4:ElasticSearch 使用C#添加和更新文档

    这是ElasticSearch 2.4 版本系列的第四篇: 第一篇:ES1:Windows下安装ElasticSearch 第二篇:ES2:ElasticSearch 集群配置 第三篇:ES3:Ela ...

  2. Java的内存机制详解

    Java把内存分为两种:一种是栈内存,另一种是堆内存.在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间, ...

  3. HBase架构

    文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/6573817.html  转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点, ...

  4. Web 页面测试总结—控件类

    web端页面测试,最常见的是基本控件的测试,只有了解常见的控件和其测试方法,才能掌握测试要点,避免漏测情况发生.根据日常工作总结,将控件和常见逻辑集合在一起,总结了几个控件类测试查场景如下. 导航条 ...

  5. ASP.NET Core MVC 源码学习:Routing 路由

    前言 最近打算抽时间看一下 ASP.NET Core MVC 的源码,特此把自己学习到的内容记录下来,也算是做个笔记吧. 路由作为 MVC 的基本部分,所以在学习 MVC 的其他源码之前还是先学习一下 ...

  6. 3.WP8.1开发_为控件增加动画

    示例: 把一个按钮的宽度从100变到500 根据WPF的经验,会把代码写成如下: <Grid> <Button x:Name="btn" Content=&quo ...

  7. wireshark过滤规则

    WireShark过滤语法 1.过 滤IP,如来源IP或者目标IP等于某个IP 例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.ad ...

  8. [转载]或许您还不知道的八款Android开源游戏引擎

    或许您还不知道的八款Android开源游戏引擎         分类:             技术文章              2010-08-04 20:27     17430人阅读     ...

  9. CognitiveJ一个Java的人脸图像识别开源分析库

    CognitiveJ 是一个开源的,支持 Java 8 API 的库,用于管理和编排 Java 应用和微软的Cognitive(Project Oxford)机器学习和图像处理库的项目,可以让你查询以 ...

  10. iOS 内存泄漏

      我一直以为现在都是自动内存管理了,还哪有什么内存泄漏啊.一检测才知道,不是我太相信Xcode了,就是我太单纯了.iOS开发中遇到的内存泄漏主要有几下几种: (1)对象不能释放.使用Core Fou ...