学习要点:

1.新版本

主讲教师:李炎恢

本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解。

一.新版本

新版本的 Flexbox 模型是 2012 年 9 月提出的工作草案,这个草案是由 W3C 推出的最新语法。这个版本立志于指定标准,让新式的浏览器全面兼容,在未来浏览器的更新换代中实现了统一。

首先,设置伸缩盒的 display 有如下两个属性值:

属性值

说明

flex

将容器盒模型作为块级弹性伸缩盒显示(新版本)

inline-flex

将容器盒模型作为内联级弹性伸缩盒显示(新版本)

//大部分不需要前缀

div {
display: flex;
}

属性

IE

Firefox

Chrome

Opera

Safari

带前缀

21 ~ 28

7.0

不带前缀

11+

20+

29+

12.1

从这张表可以看出,只有 webkit 引擎的浏览器 Chrome 和 Safari 的版本需要添加-webkit-,而 Chrome 浏览器 29 版本以后可以省略了。

1.flex-direction

flex-direction 属性和旧版本 box-orient 属性一样,都是设置伸缩项目的排列方式。

//设置从上往下排列

div {
flex-direction: column;
}

属性值

说明

row

设置从左到右排列

row-reverse

设置从右到左排列

column

设置从上到下排列

column-reverse

设置从下到上排列

2.flex-wrap

flex-wrap 属性类似与旧版本中的 box-lines,但是 box-lines 我们没有讲解,原因是没有浏览器支持它。

//设置无法容纳时,自动换行

div {
-ms-flex-wrap: wrap;
}

属性值

说明

nowrap

默认值,都在一行或一列显示

wrap

伸缩项目无法容纳时,自动换行

wrap-reverse

伸缩项目无法容纳时,自动换行,方向和 wrap 相反

3.flex-flow

flex-flow 属性是集合了排列方向和控制换行的简写形式。

//简写形式

div {
flex-flow: row wrap;
}

4.justify-content

justify-content 属性和旧版本中的 box-pack 一样,设置伸缩项目的对其方式。

//按照中心点对齐

div {
justify-content: space-around;
}

属性值

说明

flex-start

伸缩项目以起始点靠齐

flex-end

伸缩项目以结束点靠齐

center

伸缩项目以中心点靠齐

space-between

伸缩项目平局分布

space-around

同上,但两端保留一半的空间

5.align-items

align-items 属性和旧版本中的 box-align 一样,处理伸缩项目容器的额外空间。

//处理额外空间

div {
align-itmes: center;
}

属性值

说明

flex-start

伸缩项目以顶部为基准,清理下部额外空间

flex-end

伸缩项目以底部为基准,清理上部额外空间

center

伸缩项目以中部为基准,平均清理上下部额外空间

baseline

伸缩项目以基线为基准,清理额外的空间

stretch

伸缩项目填充整个容器,默认

6.align-self

align-self 和 align-items 一样,都是清理额外空间,但它是单独设置某一个伸缩项目的。所有的值和 align-itmes 一致。

//单独设置清理额外空间

p:nth-child(2) {
align-self: center;
}

7.flex

flex 属性和旧版本中的 box-flex 类似,用来控制伸缩容器的比例分配。

//设置比例分配

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

8.order

order 属性和 box-ordinal-group 属性一样控制伸缩项目出现的顺序。

//设置伸缩项目顺序

p:nth-child(1) {
order:;
} p:nth-child(2) {
order:;
} p:nth-child(3) {
order:;
}

第 29 章 CSS3 弹性伸缩布局[下]的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. CSS3弹性伸缩布局(上)——box布局

    布局简介 CSS3提供了一种崭新的布局方式:Flexbox布局,即弹性伸缩布局模型(Flexible Box)用来提供一个更加有效的方式实现响应式布局. 由于这种布局还处于W3C的草案阶段,并且它分为 ...

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

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

  8. CSS3弹性伸缩布局(下)——flex布局

    新版本 新版本的flex布局模型是2012年9月提出的工作草案,这个草案是由W3C推出的最新语法,这个版本立志于指定标准,让新式的浏览器全面兼容,在未来的浏览器更新换代中实现统一. 目前几乎大部分的浏 ...

  9. CSS3(5)---伸缩布局(Flex)

    CSS3(5)---伸缩布局 有关页面布局之前写过三篇相关文章: 1.CSS(5)---盒子模型 2.CSS(6)---浮动(float) 3.CSS(8)---定位(position) 一.什么是F ...

随机推荐

  1. NodeJS系列~第四个小例子,NodeJs处理Get请求和Post请求

    返回目录 说在前 对于HTTP请求来说,我们通常使用的是Get和Post,除此之外还有put,delete等,而对于get来说,比较lightweight,只是对字符串的传输,它会被添加到URL地址里 ...

  2. 知方可补不足~用SqlProfiler来监视数据库死锁

    回到目录 关于锁的相关知识,大家可以看我的这篇文章<知方可补不足~Sqlserver中的几把锁和.net中的事务级别> 死锁我想大家都知道,当一个对话(线程)占用一个资源时,别一个线程也同 ...

  3. H5常用代码:适配方案4

    前面有分享了4种适配方案,但始终是通过手动缩放或者视口缩放来实现,用来做一些专题页,或者功能相对简单的项目来说也是完全能应付的,但整体来说感觉还是一种缩放,说不上是真正的适配,言外之意就是即将分享真正 ...

  4. paip.mysql 性能测试by mysqlslap

    paip.mysql 性能测试by mysqlslap   作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog. ...

  5. java学习笔记--this 关键字的理解

    彻底理解this 关键字的含义 this关键字再java里面是一个我认为非常不好理解的概念,:)也许是太笨的原因 this 关键字的含义:可为以调用了其方法的那个对象生成相应的句柄. 怎么理解这段话呢 ...

  6. DataGridView的Cell事件的先后触发顺序

    最近正在使用“DataGridView”对一个旧的Vs 2003开发的WINDOWS应用程序进行改造. 发现Vs 2003中的"DataGrid"中的一些事件已经在新的控件Data ...

  7. SlickUpload Upload to disk

    The file upload stream provider is a built-in SlickUpload provider that uses the filesystem for uplo ...

  8. Jasmine入门(结合示例讲解)

    参考: http://www.cnblogs.com/wushangjue/p/4541209.html http://keenwon.com/1191.html http://jasmine.git ...

  9. Android requires compiler compliance level 5.0 or 6.0. Found '1.8' instead. Please use Android Tools>Fix project Properties.

    重装操作系统之后,或者破坏了Android的开发环境之后,需要重新配置好Android的开发环境.但是配置好后,导入原有的项目时,报错: Android requires compiler compl ...

  10. iOS_UIImage_给图片添加水印

    github地址: https://github.com/mancongiOS/UIImage.git UIImage的Category UIImage+ImageWaterPrint.h #impo ...