flexbox简介
flexbox简介
什么是flexbox
flexbox是一种新的布局方式,这种布局方式是2009年W3C提出的方案。它可以简便,完整,完成页面的布局。目前,它已经得到所有浏览器的支持。
但是flexbox从2009年以来,有各种版本的变化,比如2009年版本和2011年版本差别比较大。
为什么要有flexbox
每个新事物出现都有其历史使命的。flexbox也是如此,传统的布局依赖于屏幕的宽度和高度,或者依赖于计算的百分比,但是flex则是直接按照比例关系进行布局展示。
这样做的好处就是当屏幕进行拉升等情况的时候,flex布局的页面仍然符合我们的预期。
比如一个横排布局
|-----|-----|----------|
| 1 | 1 | 2 |
|-----|-----|----------|
平时的布局情况我们就会为1设置宽度25%,2设置宽度50%。但是这个时候,如果我们要变成下面这个布局呢?
|-----|-----|-----|----------|
| 1 | 1 | 1 | 2 |
|-----|-----|-----|----------|
那么我们就需要重新设置比例了,1比例为20%,2比例为40%。
在flexbox中,我们就可以直接设置一个横排为一个flex容器,然后子结构1的比例为1(flex:1),自结构2的比例为(flex:2)。
flexbox都有哪些属性可以设置
强烈推荐(《A Complete Guide to Flexbox》)[https://css-tricks.com/snippets/css/a-guide-to-flexbox/]。文章图文并茂地说了各个属性的各种含义。
父容器的属性
- display:flex。 表明这个容器是flex布局。
- flex-direction: row | row-reverse | column | column-reverse; 表明容器里面的子元素的排列方向。
- flex-wrap: nowrap | wrap | wrap-reverse; 如果子元素溢出父容器的时候是否进行换行。
- justify-content: flex-start | flex-end | center | space-between | space-around; 这一个容器子元素横向排版在容器的哪个位置
- align-items: flex-start | flex-end | center | baseline | stretch; 这个容器子元素纵向排版在容器的哪个位置
- align-content: flex-start | flex-end | center | space-between | space-around | stretch; 当容器内有多行项目的时候,项目的布局
子元素的属性
- order: ; 子元素的排序
- flex-grow: ; 分配剩余空间的比例
- flex-shrink: ; 分配溢出空间的比例
- flex-basis: | auto;
- flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] 在容器中占比
- align-self: auto | flex-start | flex-end | center | baseline | stretch; 特定某个子元素的排布情况
参考文章
(A Complete Guide to Flexbox)[https://css-tricks.com/snippets/css/a-guide-to-flexbox/]
(终极Flexbox属性查询列表)[http://www.w3cplus.com/css3/css3-flexbox-cheat-sheet.html]
(一个完整的Flexbox指南)[http://www.w3cplus.com/css3/a-guide-to-flexbox.html]
(Flex 布局教程:语法篇)[http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html]
(利用flexbox构建可伸缩布局)[http://yanni4night.com/blog/flexbox-layout.html]
flexbox简介的更多相关文章
- 弹性盒子FlexBox简介(二)
弹性盒子属性 一.align-content属性 属性作用:用于修改flex-wrap属性行为.类似于justify-content,但它不是设置弹性子元素的对齐,而是设置各个行的对齐. 属性值: f ...
- 弹性盒子FlexBox简介(一)
一.理解弹性盒子 弹性盒子是CSS3的一种新的布局模式. CSS3弹性盒子(Flexible Box或flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时,确保元素拥有恰当的行为的布局方 ...
- 一个完整的Flexbox指南(转载)
本文由大漠根据Chris Coyier的<A Complete Guide to Flexbox>所译,整个译文带有我们自己的理解与思想,如果译得不好或不对之处还请同行朋友指点.如需转载此 ...
- 【HTML5&CSS3进阶学习02】Header的实现·CSS中的布局
前言 我们在手机上布局一般是这个样子的: 其中头部对整个mobile的设计至关重要,而且坑也很多: ① 一般来说整个header是以fixed布局,fixed这个产物在移动端来说本身坑就非常多 ② 在 ...
- 【转】Flexbox——快速布局神器
原文转自:http://www.w3cplus.com/css3/flexbox-basics.html 简介 在很多方面HTML和CSS是一个强大的内容发布机制——易学.灵活和强大.但复杂的布局是他 ...
- React Native 简介:用 JavaScript 搭建 iOS 应用 (1)
[编者按]本篇文章的作者是 Joyce Echessa--渥合数位服务创办人,毕业于台湾大学,近年来专注于协助客户进行 App 软体以及网站开发.本篇文章中,作者介绍通过 React Native 框 ...
- flexbox布局模式-- 浅谈
简介 Flexbox,一种CSS3的布局模式,也叫做弹性盒子模型,用来为盒装模型提供最大的灵活性.今天主要从以下几个方面简单谈谈flex. 1 版本更迭 2 flex容器 3 flex项目 4 fle ...
- 聊聊Flexbox布局中的flex的演算法
到目前为止,Flexbox布局应该是目前最流行的布局方式之一了.而Flexbox布局的最大特性就是让Flex项目可伸缩,也就是让Flex项目的宽度和高度可以自动填充Flex容器剩余的空间或者缩小Fle ...
- 不再混淆,一次搞懂!图解flexbox十余个属性
原文首发于个人博客:不再混淆,一次搞懂!图解flexbox十余个属性 flexbox的发明简直是csser的一大福音,终于可以不再需要为垂直居中一个元素而绞尽脑汁了.同时它还能够实现弹性布局,可以说没 ...
随机推荐
- innodb 锁分裂继承与迁移
innodb行锁简介 行锁类型 LOCK_S:共享锁 LOCK_X: 排他锁 GAP类型 LOCK_GAP:只锁间隙 LOCK_REC_NO_GAP:只锁记录 LOCK_ORDINARY: 锁记录和记 ...
- 解剖SQLSERVER 第十篇 OrcaMDF Studio 发布+ 特性重温(译)
解剖SQLSERVER 第十篇 OrcaMDF Studio 发布+ 特性重温(译) http://improve.dk/orcamdf-studio-release-feature-recap/ ...
- TFS 改服务器IP 域名 端口方法
长春电信伴随着开始的严打,所有未备案的80,8080等常用web端口都被封,使得原用8080作为服务端口的tfs代码服务器无法使用,现提供方法如下: 1.关掉VS 2.去掉要改的解决方案的sln文件的 ...
- Windows Azure 服务器时间问题
最近一直在做学校的一个小项目,前期在没有服务器端的情况下意淫做出来了手机客户端.在寒假里使用ASP.NET快速做了一个网站并且设计好了需要使用其他内容,在Windows Azure上测试评估,为学校的 ...
- 【Bugly干货】Android性能优化典范之多线程篇
本文涉及的内容有:多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项,这是一篇 ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- 一个简单的、面向对象的javascript基础框架
如果以后公司再能让我独立做一套新的完整系统,那么我肯定会为这个系统再写一个前端框架,那么我到底该如何写这个框架呢? 在我以前的博客里我给大家展示了一个我自己写的框架,由于当时时间很紧张,做之前几乎没有 ...
- 基于STSdb和fastJson的磁盘/内存缓存
更新 1. 增加了对批量处理的支持,写操作速度提升5倍,读操作提升100倍 2. 增加了对并发的支持 需求 业务系统用的是数据库,数据量大,部分只读或相对稳定业务查询复杂,每次页面加载都要花耗不少时间 ...
- 为什么说Java中的随机数都是伪随机数?
什么是伪随机数? 1.伪随机数是看似随机实质是固定的周期性序列,也就是有规则的随机. 2.只要这个随机数是由确定算法生成的,那就是伪随机,只能通过不断算法优化,使你的随机数更接近随机. (随机这 ...
- 开发人员应该对IIS理论层的知识了解的多一些~第四讲 HttpModule中的几大事件
返回目录 本文主要介绍HttpModule,它在一个网页请求过程中是一个怎样的过程是我们要知道的,在网页加载过程中HttpModule在何时被执行也是我们要知道的,以及,HttpModule在网页请求 ...