第 29 章 CSS3 弹性伸缩布局[下]
学习要点:
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 弹性伸缩布局[下]的更多相关文章
- 第 29 章 CSS3 弹性伸缩布局[中]
学习要点: 1.混合过度版 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.混合过渡版 混合版本的 Flexbox 模型 ...
- 第 29 章 CSS3 弹性伸缩布局[上]
学习要点: 1.布局简介 2.旧版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.布局简介 CSS3 提供一种崭新的 ...
- CSS3弹性伸缩布局(二)——flex布局
上一篇博客<CSS3弹性伸缩布局(一)——box布局>介绍了旧版本的box布局,而这篇博客将主要介绍最新版本的flex布局的基础知识. 新版本简介 新版本的Flexbox模型是2012年9 ...
- CSS3弹性伸缩布局(一)——box布局
CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃 ...
- css3弹性伸缩布局(一)—————flex布局
CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案—-Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃而解 ...
- CSS3弹性伸缩布局(上)——box布局
布局简介 CSS3提供了一种崭新的布局方式:Flexbox布局,即弹性伸缩布局模型(Flexible Box)用来提供一个更加有效的方式实现响应式布局. 由于这种布局还处于W3C的草案阶段,并且它分为 ...
- CSS3弹性伸缩布局(中)——flexbox布局
混合过渡版 上一篇我们主要讲了旧版box布局,今天这篇主要讲flexbox布局. 混合版本的Flexbox模型是2011年提出的工作草案,主要是针对IE10浏览器实现的伸缩布局效果,其功能和旧版本的功 ...
- CSS3弹性伸缩布局(下)——flex布局
新版本 新版本的flex布局模型是2012年9月提出的工作草案,这个草案是由W3C推出的最新语法,这个版本立志于指定标准,让新式的浏览器全面兼容,在未来的浏览器更新换代中实现统一. 目前几乎大部分的浏 ...
- CSS3(5)---伸缩布局(Flex)
CSS3(5)---伸缩布局 有关页面布局之前写过三篇相关文章: 1.CSS(5)---盒子模型 2.CSS(6)---浮动(float) 3.CSS(8)---定位(position) 一.什么是F ...
随机推荐
- NodeJS系列~第四个小例子,NodeJs处理Get请求和Post请求
返回目录 说在前 对于HTTP请求来说,我们通常使用的是Get和Post,除此之外还有put,delete等,而对于get来说,比较lightweight,只是对字符串的传输,它会被添加到URL地址里 ...
- 知方可补不足~用SqlProfiler来监视数据库死锁
回到目录 关于锁的相关知识,大家可以看我的这篇文章<知方可补不足~Sqlserver中的几把锁和.net中的事务级别> 死锁我想大家都知道,当一个对话(线程)占用一个资源时,别一个线程也同 ...
- H5常用代码:适配方案4
前面有分享了4种适配方案,但始终是通过手动缩放或者视口缩放来实现,用来做一些专题页,或者功能相对简单的项目来说也是完全能应付的,但整体来说感觉还是一种缩放,说不上是真正的适配,言外之意就是即将分享真正 ...
- paip.mysql 性能测试by mysqlslap
paip.mysql 性能测试by mysqlslap 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog. ...
- java学习笔记--this 关键字的理解
彻底理解this 关键字的含义 this关键字再java里面是一个我认为非常不好理解的概念,:)也许是太笨的原因 this 关键字的含义:可为以调用了其方法的那个对象生成相应的句柄. 怎么理解这段话呢 ...
- DataGridView的Cell事件的先后触发顺序
最近正在使用“DataGridView”对一个旧的Vs 2003开发的WINDOWS应用程序进行改造. 发现Vs 2003中的"DataGrid"中的一些事件已经在新的控件Data ...
- SlickUpload Upload to disk
The file upload stream provider is a built-in SlickUpload provider that uses the filesystem for uplo ...
- Jasmine入门(结合示例讲解)
参考: http://www.cnblogs.com/wushangjue/p/4541209.html http://keenwon.com/1191.html http://jasmine.git ...
- 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 ...
- iOS_UIImage_给图片添加水印
github地址: https://github.com/mancongiOS/UIImage.git UIImage的Category UIImage+ImageWaterPrint.h #impo ...