理解Flexbox弹性盒布局

flex-container.png

基本概念

  • 主轴: main axis

    • 主轴起点: main start
    • 主轴终点: main end
  • 交叉轴(侧轴): cross axis

    • 交叉轴起点: cross start
    • 交叉轴终点: cross end
  • container和item,这两个不翻译最直白,叫容器和项目有点别扭

生成弹性盒

  • display: flex 生成块盒
  • inline-flex 生成行内盒

container属性

  • flex-direction

    • 定义container主轴方向
    • 可选值: row | row-reverse | column | column-reverse
    • 默认值: row
  • flex-wrap

    • 控制container为单行还是多行,定义了侧轴的方向,控制多行时向哪个方向堆砌
    • 可选值:nowrap | wrap | wrap-reverse
    • 默认值:nowrap
  • flex-flow

    • flex-direction 和 flex-wrap的简写,这两个属性加起来就可以控制弹性盒内item的布局流向了
    • 默认值: row nowrap
  • justify-content

    • 设置container内所有item沿主轴上的对齐方式,并分配剩余可用空间。
    • 如果主轴横向,侧轴竖向, justify-content就是控制所有item在横向的位置布局。
    • 可选值:flex-start | flex-end | center | space-around | space-between
    • 默认值: flex-start
  • align-items

    • 设置container内所有item在侧轴上的对齐方式
    • 可选值: flex-start | flex-end | center | baseline | stretch
    • 默认值: stretch
    • item可以通过设置align-self覆盖container的align-items属性
  • align-content

    • 定义多根轴线之间的对齐方式,并分配剩余可用空间。若没有多根轴线,则不起作用
    • 可选值: flex-start | flex-end | center | space-around | space-between | stretch
    • 默认值: stretch

item属性

  • align-self

    • 设置item在侧轴方向的对齐方式,功能与align-items相同。可覆盖align-items属性。
    • 可选值: auto | flex-start | flex-end | center | baseline | stretch
    • 默认值:auto
  • order

    • 设置item的序数顺序,值越小,越靠前
    • 默认值: 0
  • flex-grow

    • 设置item的增长因数,不接受负值。
    • 按比例分配剩余空间,没有剩余空间时flex-grow无效
    • 默认值: 0
  • flex-shrink

    • 设置item的收缩因素,不接受负值
    • 每个item按比例缩小,使总缩小空间为不足的空间,空间足够时flex-shrink无效
    • 默认值:1
  • flex-basis

    • 设置item伸缩的基准值,不接受负值
    • 默认值: auto 类似于width
  • flex

    • 设置item的尺寸,包括flex-grow、flex-shrink、flex-basis
    • 默认值: 0,1,auto
    •  

转载于:https://my.oschina.net/jjyuangu/blog/1556383

来源:https://my.oschina.net/jjyuangu/blog/1556383


智能推荐

我对Flexbox布局模式的理解

(点击上方公众号,可快速关注) 编译:伯乐在线/Tw93 Flexbox,一种CSS3的布局模式,也叫做弹性盒子模型,用来为盒装模型提供最大的灵活性。首先举一个栗子,之前我们是这样实现一个div盒子水平垂直居中的。在知道对象高宽的情况下,对居中元素绝对百分比定位,然后通过margin偏移的方式来实现。 <style>     .container...

CSS3弹性盒布局总结

一、CSS3弹性盒子 弹性盒子是CSS3的一种新布局模式。 CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。 引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。 二、浏览器支持 表格中的数字表示支持该属性的第一个浏览器的版本号。 紧跟在数字后面的 ...

AWR文件的生成

1、数据库安装路径下,找到如下图这个awrrpt.sql 文件。 在plsql命令窗口,以sys管理员身份登录下,执行这个sql文件。 2、执行之后,弹出提示框,输入html后点击ok,即导出的文件为html格式 3、接下来弹出提示框如下,这里输入的数值就是 需要生成几天的报告数据,可以根据实际情况来调整,比如现在是12月22号,你要获取20号的数据,这里要填3(这样就会加载20号至22号3天的数...

Qt项目的发布(方法一)

文章目录 一、准备 二、建立空目录 三、拷贝缺失的库文件 四、发给别人不能运行的情况 五、通过工具加载库文件 1、配置环境变量 2、加载完成后的问题 想直接快速发布的可直接从目录五开始看,前面(1-3)是我自己的笔记(也可以算是一种发布方法,也是最慢的发布方法)。 一、准备 要发布的时候我们将自己的项目使用Release模式编译: 二、建立空目录 我们可以在桌面或者其他哪(你自己定)建立一个空目录...

【转载】数据结构之图(存储结构、遍历)

转载自:http://blog.chinaunix.net/uid-26548237-id-3483650.html 一、图的存储结构 1.1 邻接矩阵     图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。     设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为:  ...

猜你喜欢

Drawable系列之-BitmapDrawable

这几乎是最简单的Drawable了,它表示的就是一张图片。在实际开发中,我吗可以直接引用原始图片即可,但是也可以通过XML的方式来描述它,通过XML来描述的BitmapDrawable可以设置更多的效果,如下所示: 下面是它的各个属性的含义。 android:src 这个很简单,就是图片的资源id。 android:antialias 是否开启图片抗锯齿功能。开启会让图片变得平滑,同时也会在一定程...

allegro学习之Database has a non-recoverable corruption. Contact Cadence customer support.该如何解决

尝试的解决方法:1.扩大 画布面积:未解决 2.dbdoctor :未解决 3.重新生成psm,以及device,未解决 4.如果以上都未解决,就重新画下那个封装以及焊盘,重新生成psm,以及device,我是通过这种方法解决的...

windows7安装Bitvise开启SSH服务

Windows7安装Bitvise开启ssh服务 Windows7安装Bitvise开启ssh服务 安装Bitvise SSH Server 配置Bitvise SSH Server 使用xshell连接ssh服务验证 结语 by:铁乐猫 在Liunx和windows10上配置SSH服务是一件很容易的事,毕竟系统己经自带了ssh的服务功能。 不过在windows7上可不容易,也有几种实现的方案,今...

永远不要忘记数据库测试 数据库测试的重要性和测试要点说明

为什么80%的码农都做不了架构师?>>>    译者导读:本文分为三部分,第一部分是第1节,即说明“对数据库测试的根本误解”;第二部分从第2节至倒数第4节,详述“数据库测试测什么”的问题;第三部分是最后3节,引出“数据库测试怎么测”的问题,提出自动部署、自动化测试、持续集成的思路及工具。另...

jquery 实现过滤器(转载)

本文转载自:http://abruzzi.iteye.com/blog/519288 公司产品的一个新功能中涉及到一个过滤器:通过关键字快速的对结果集进行过滤,获得比较少的结果,方便用户选择。在网上找了找,有很多jQuery的插件,要么就是auto complete, 要么就是没有高亮的quick search,都不是很适合我们的场景,于是就自己实现了一个。用起来倒是还过得去,呵呵。  ...

问答精选

list.append(something) unicode - ascii

code result I don't want to convert unicode. How can I stay in korean language I wish to print like this Your code from the question produces: This output is different from what you have shown in the ...

Create database schema from WSDL file

right now im accessing a soap web service using generated code from a wsdl file via wsimport the objects generated by wsimport are quite complex my goal is to persist these complex objects into a data...

MiniProfiler with multilayered WCF services

I have a set of WCF services that call each other I would like to use the MiniProfiler to profiles the complete stack, right the way down to the MVC site that uses them. It looks something like this: ...

Using accented symbols on VIM

Few hours ago I changed from my old Debian box to a new one, when I did that I bring with me the .vimrc I use on the old unit. On the old one I can use : áéóçã&ntild...

Prepopulating grails app mysql database in cloud foundry

I need to prepopulate mysql database which is the backend for a Grails Application. This is working fine in local and I need to move to cloud foundry. I used to prepopulate mysql database in local by ...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答