700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > css3弹性盒模型兼容性 彻底弄懂css3的flex弹性盒模型

css3弹性盒模型兼容性 彻底弄懂css3的flex弹性盒模型

时间:2018-09-08 23:32:32

相关推荐

css3弹性盒模型兼容性 彻底弄懂css3的flex弹性盒模型

由于在日常工作中使用css或者bootstrap的栅格系统已经能很好的满足业务需求,所以一直以来对css3的弹性布局不是很感冒。

近日有幸在一篇文章中领略了flex的魅力--简洁优雅。随试之。

/*容器*/

.flex{

display: flex;

display: -webkit-flex;/*Webkit内核的浏览器,必须加上-webkit前缀。*/

/*注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。*/

flex-direction: row;/*决定主轴的方向,即子项目(子元素)横向排列还是纵向排列*/

/*row(默认值):主轴为水平方向,起点在左端。

row-reverse:主轴为水平方向,起点在右端。

column:主轴为垂直方向,起点在上沿。

column-reverse:主轴为垂直方向,起点在下沿。*/

flex-wrap:nowrap;/*定义如果一条轴线排不下,如何换行*/

/*nowrap(默认):不换行。

wrap:换行,第一行在上方。

wrap-reverse:换行,第一行在下方。*/

justify-content: flex-start;/*定义了项目在主轴上的对齐方式。*/

/*flex-start(默认值):左对齐

flex-end:右对齐

center: 居中

space-between:两端对齐,项目之间的间隔都相等。

space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。*/

align-items: flex-start;/*定义项目在交叉轴上如何对齐。*/

/*flex-start:交叉轴的起点对齐。

flex-end:交叉轴的终点对齐。

center:交叉轴的中点对齐。

baseline: 项目的第一行文字的基线对齐。

stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。*/

}

/*项目,容器里的子元素默认成为项目,并拥有项目的默认属性*/

.flex-item{

order:;/*定义项目的排列顺序。数值越小,排列越靠前,默认为0。*/

flex-grow:;/*定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。*/

/*如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。*/

flex-shrink:;/*定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。*/

flex-basis:auto;/*定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。*/

flex:0 1 auto;/*flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。*/

align-self:auto;/*允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性*/

}

以上就是flex相关的所有属性。详情可以参考阮一峰大神的博文,很详细哦!

现在开始实战,写两个常用的布局。

1、图文列表。

这是效果图,下面开始上代码。

帅舅舅

JavaScript全栈工程师成长中……

.container1{

display: flex;

display: -webkit-flex;

flex-direction: row;

height: 50px;

}

.left{

flex: 0 1 50px;

background-color: lightblue;

}

.right{

display: flex;

display: -webkit-flex;

flex-direction: column;

flex: 1 1 auto;

}

.title{

flex: 0 1 20px;

background-color: lightcyan;

}

.desc{

flex: 1 1 auto;

background-color: lightgray;

font-size: 12px;

color: #666;

}

.vertical-center{/*弹性布局实现垂直居中*/

display: flex;

display: -webkit-flex;

flex-direction:column;

justify-content:center;

}

这里有个技巧就是可以定义的排列顺序.left{order:1},达到左侧图片居右的效果

2、宫格布局

12345

.container2{

display: flex;

display: -webkit-flex;

flex-direction: row;/*决定主轴的方向*/

flex-wrap:wrap;

}

.item{

height: 100px;

flex: 0 1 50%;

background-color: lightcoral;

color: white;

font-size: 20px;

text-align: center;

line-height: 100px;

border: 1px solid white;

box-sizing: border-box;

}

现在只是简单的写了个demo,认识和理解都还不深刻。随着今后在工作中的频繁使用,相信会有更多的发现和惊喜。

彻底搞懂flex弹性盒模型布局

为什么要用flex 基于css3简单方便,更优雅的实现,浏览器兼容性好,传统的css实现一个div居中布局要写一堆代码,而现在几行代码就搞定了,没有理由不用flex. 兼容性: Base Browse ...

Flex 弹性盒模型

box flex 弹性盒模型(转载)

css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.这与XUL(火狐使用的用户交互语言)相似,其它语言也使用相同的盒模型,如XAML .GladeX ...

css3教程:弹性盒模型

Css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.这与XUL(火狐使用的用户交互语言)相似,其它语言也使用相同的盒模型,如XAML .GladeX ...

columns分栏与flex弹性盒模型

columns 分栏 值:column-width:设置每列的宽度 column-count:设置列数 例:columns{200px 3} 列数和宽度固定 co ...

IT兄弟连 HTML5教程 CSS3属性特效 弹性盒模型

CSS3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.使用该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局.弹性盒模型看起 ...

flex弹性盒模型

flex 意思是弹性布局,用来给盒模型提供最大的灵活度,指定容器中的项目为弹性布局,类似于float:left; 比float的好处是容器没有设置高度,会根据项目来自适应高度,我们都知道,设置floa ...

随机推荐

自制文件上传JS控件,支持IE、chrome、firefox etc.

(function() { if (window.FileUpload) { return; } window.FileUpload = function (id, url) { this.id = ...

UIView的setNeedsDisplay和setNeedsLayout

1,UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的.而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UI ...

MFC对话框显示BMP图片

1.MFC对话框显示BMP图片我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) ...

delphi.位操作

位操作网上有很多介绍,请上网google/baidu,比如: 位操作技巧实例大全: /g_spider/article/details/5750665 位操作基 ...

SVN删除同名文件夹

解 释一下: SVN 出现这个错误的原因是我删除了一个文件夹后又创建了一个同名文件夹. 在 svn server 端,好像是不能区分这两个文件夹,所以出现了错误. ...

ESXi控制台TSM:弥补vSphere Client不足

当vSphere Client不能完成某些任务时,主机的ESXi控制台及其技术支持模式(TSM)可能能派上用场. ESXi控制台允许管理员执行不能通过vSphere Client进行配置的管理任务,比 ...

QT VS未处理的异常: 0xC0000005

症状如图所示 出错代码段在第3行 QString dir = QFileDialog::getExistingDirectory(this, tr("Save file path&qu ...

如何避免提交页面,信息未填写完善 就出现注册成功提示 基于js

基于bootstrip做好一个页面后,出现如下效果图 这个页面是未经过任何后端处理的页面,如果直接填写一个用户名 或者不填写任何东西都可以注册成功的,先来演示只输入一个用户名 就要可以注册成功的. 点 ...

DataSnap服务器从xe2升级到xe5报错的处理

DataSnap服务器从xe2升级到xe5环境下,能够正常编译,但运行后会报错,如下图: 处理参考: /pawelglowacki//0 ...

SQL Server T—SQL 存储过程 触发器

一.存储过程 存储过程是一组编译在单个执行计划中的T-SQL语句 存储过程:就像函数一样的会保存在数据库中(可编程性) 存储过程的优点: 1.允许模块化程序设计 2.允许更快执行如果某操作需要大量T- ...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。