React Native之flexbox布局总结-个人笔记

flexbox是Flexible Box的缩写, 弹性盒子布局, 主流的浏览器都支持

flexbox布局是伸缩容器(container)和伸缩项目(item)组成

Flexbox布局的主体思想是元素可以改变大小以适应可用空间, 当可用空间变大, flex元素将伸展大小以填充可用空间, 当flex元素超过可用空间时, 将自动缩小, 总之, flex元素是可以让你的布局根据浏览器的大小变化进行自动伸缩

按照伸缩流的方向进行布局

伸缩容器有主轴和交叉轴组成, 主轴既可以是水平轴也可以是垂直轴

flexbox目前还处于草稿状态, 所有在使用flexbox布局的时候, 需要加上各种浏览器的私有前缀, 即-webkit -moz -ms -o等

web中flexbox的使用

伸缩容器的属性: 默认值都是第一个
1.display
display: flex | inline-flex
块级伸缩容器 行内级伸缩容器

2.flex-direction
指定主轴的方向, flex-direction:row | row-reverse | column | column-reverse

3.flex-wrap
伸缩容器在主轴方向空间不足的情况下, 是否换行以及该如何换行
flex-wrap: nowrap | wrap | wrap-reverse

4.flex-flow
是flex-direction 和 flex-wrap的缩写版本, 它同时定义了伸缩容器的主轴和侧轴, 其默认值为row nowrap ( flex-flow: row nowrap;)

5.justify-content
用来定义伸缩项目在主轴的对齐方式, 语法为:
justify-content: flex-start | flex-end | center | space-between | space-around

6.align-items
用来定义伸缩项目在交叉轴上面的对齐方式, 语法为:
align-items: flex-start | center | flex-end | baseline | stretch |

7.align-content
用来调整伸缩项目出现换行后在交叉轴上的对齐方式, 语法为:
align-content: stretch | flex-start | flex-end | center | space-between | space-around
所以肯定先要换行, 跟justify-content差不多

伸缩项目的属性
1.order
定义项目的排列顺序, 数值越小, 排列越靠前, 默认值为0, 语法为:
order: 整数值;

2.flex-grow
定义伸缩项目的放大比例, 默认值为0, 即表示如果存在剩余空间, 也不放大, 语法为:
flex-grow: 整数值;

3.flex-shrink
定义伸缩项目的收缩能力, 默认值为1, 语法为:
flex-shrink: 整数值;

4.flex-basis
用来设置伸缩项目的基准值, 剩余的空间按比率进行伸缩, 其语法为:
flex-basis: length | auto, 默认值为auto

5.flex
是flex-grow flex-shrink flex-basis这三个属性的缩写, 语法为:
flex: none | flex-grow flex-shrink flex-basis, 其中第二个和第三个参数为可选参数, 默认值为0, 1, auto

6.align-self
用来设置单独的伸缩项目在交叉轴上的对齐方式, 会覆盖默认的对齐方式, 语法为:
align-self: auto | flex-start | flex-end | center | baseline | stretch
(stretch 伸缩项目在交叉轴方向占满伸缩容器, 如果交叉轴为垂直方向的话, 只有在不设置高度的情况下, 才能看到效果)

react-native使用flexbox

RN目前主要支持flexbox的如下属性:
1.alignItems
用来定义伸缩项目在交叉轴上的对齐方式, 语法为:**
alignItems: flex-start | flex-end | center | stretch **

2.alignSelf
用来设置单独的伸缩项目在交叉轴上的对齐方式, 会覆盖默认的对齐方式, 语法为:
alignSelf: auto | flex-start | flex-end | center | stretch
(stretch 伸缩项目在交叉轴方向占满容器, 如果交叉轴为垂直方向的话, 只有在不设置高度的情况下, 才能看到效果)

3.flex
是flex-grow flex-shrink flex-basis这三个属性的缩写, 其语法为:
flex: none | flex-grow flex-shrink flex-basis , 其中第二个和第三个参数为可选参数, 默认值为:0 1 auto

4.flexDirection**
指定主轴的方向, 语法:
flexDirection: row | row-reverse | column(默认值) | column-reverse

5.flexWrap
伸缩容器在主轴方向空间不足的情况下, 是否换行以及该如何换行
flexWrap: nowrap | wrap | wrap-reverse

6.justifyContent
用来定义伸缩项目在主轴的对齐方式, 语法为:
justifyContent: flex-start | flex-end | center | space-between | space-around

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容

  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,395评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,453评论 0 6
  • 前言 FlexBox是css3的一种新的布局方式,天生为解决布局问题而存在的它,比起传统的布局方式,我们使用Fle...
    zevei阅读 1,410评论 23 3
  • 前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人...
    珍此良辰阅读 4,511评论 2 19
  • 一直以来支付宝都想做社交这部分,究其原因是因为微信已经抄了它的后院。为了保证在后期的发展中不至于被完全的工具化,扩...
    財運旺獅阅读 214评论 0 0