Flex

Flex布局是前端比较灵活的一种布局方式,能否满足各种布局要求和需求,在React Native 小程序 Flutter中都有广泛的应用。

首先从Flex对象上,分为两类对象:
1.flex container,flex容器类,里面的元素会按照flex模式来布局。 元素声明css属性display:flex或者inline-flex,即为flex container。
2.flex item , 处于flex container下的直接子元素,即为flex item类。



flex container上的容器相关flex核心属性有以下:

  • flex-direction 用来指定main axis和cross axis方向。
  • justify-content 用来指定flex item在main axis的对齐方式
  • align-items 指定flex item在cross axis的对齐方式
  • flex-wrap 指定flex container是单行还是多行
  • align-content 指定多行flex item在cross axis的对齐方式

flex item上的容器相关flex核心属性有以下:

  • align-self 用于覆盖flex container设置的align-items,单独决定该flex item 在cross axis的对齐方式。
  • flex-grow 决定flex item在main axis上如何扩展,只有flex-container还有剩余的size时,这个属性才生效。如果所有items这个值的总和为sum,sum>=1,则grow属性作为权重比参与扩展,扩展大小=itemSize * grow / sum,如果sum<1,则扩展大小=itemSize * grow。默认是0,就是默认不参与扩展。
  • flex-shrink 决定flex item在main axis上如何收缩,只有超出flex-container时,这个属性才会生效,计算比较麻烦,不建议使用。默认是1,就是默认会参与收缩,而且是按用户size大小比例参与收缩至container限制大小。如果均为0,则表示不参与收缩。
  • flex-basis 用来设置flex item在main axis方向的size,默认auto/content,是由内容本身的size决定。flex item最终的size,由不同优先级属性来指定,最高一级 max-XX min-X > flex-basis > width/height > 内容本身的size

组合属性:

  • flex container:
  • flex-flow 是 flex-direction || flex-wrap 简写
  • flex item:
  • flex 是 flex-grow flex-shrink? || flex-basis 简写
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • flex是flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定...
    胡萝卜樱阅读 4,185评论 0 1
  • 传统的网页布局基于盒装模型,使用display,position,float属性来达成各种布局。对于一些特殊的布局...
    exialym阅读 7,510评论 0 11
  • flex简介 当我们需要多行多列自适应,任意行对齐时。便可用flex布局实现。Flex是Flexible Box的...
    穆瑟muse阅读 4,808评论 0 5
  • 作者: 阮一峰日期: 2015年7月10日原文链接:http://www.ruanyifeng.com/blog/...
    Mike_Gu阅读 4,558评论 0 6
  • 2013年以来,比特币受到了全世界投资者的狂热追捧,虽然几经涨跌,大部分国家监管方对其态度也不甚明朗,但作为比特...
    简单就好22阅读 1,279评论 0 0

友情链接更多精彩内容