学习
实践
活动
专区
工具
TVP
写文章

深入理解Flex布局 -- flex-grow & flex-shrink & flex-basis

它其实是一个缩写,等价于flex: 1 1 0,也就是 flex-grow : 1; flex-shrink : 1; flex-basis : 0; flex-grow 表示当有剩余空间的时候,分配给项目的比例 flex-shrink 表示空间不足的时候,项目缩小的比例 flex-basis 表示分配空间之前,项目占据主轴的空间 下面来讲讲 flex 空间分配的步骤。 首先要理解清楚,当我们定义一个固定宽度容器为flex的时候,flex会尽其所能不去改变容器的宽度,而是压缩项目的宽度。 codepen 在这里 flex-basis(默认值 auto) flex-basis指定项目占据主轴的空间,如果不设置,则等于内容本身的空间: 四、总结 本文从问题出发,讲解了Flex布局在实战中的应用 ,并深入到flex-grow,flex-shrink和flex-basis的细节,描述了项目空间在填充和溢出情况下的计算方式,希望对你有所帮助。

42620
  • 广告
    关闭

    【玩转 GPU】有奖征文

    精美礼品等你拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Flex布局

    于是2009年的时候w3c提出了flex布局,也叫弹性布局,可以更简单的实现响应式和一些特殊布局。 ? 现在的主流浏览器几乎都兼容了flex布局,连IE只要是10+的都兼容。 IOS的话具体兼容到哪一个版本不知道,但是开发到现在还没遇见不兼容的,所以flex可以放心使用。要是有IE8等用户,我建议是给个提示去升级吧。 先说说横向的布局,当你使用了flex之后,align-items是控制上下方向的,center是上下居中、flex-end是下边对齐、flex-start是向上对齐。 如果你需要的还是竖向的排列,又想用flex的上下居中或者左右布局,那么设置flex-direction: column,这时候就是竖向布局。 项目开发中,flex布局一般就用这几个属性,只要写几个div或者ul li就很容易上手,尤其是对于APP,只要宽度百分比加flex布局,几乎就可以做到百分之90的自适应。

    43530

    Flex布局

    Flex布局 通过给父盒子添加flex属性,来控制子盒子的位置和排列方式 常见的父项属性 flex-direction设置主轴方向 默认主轴是水平的x轴 主轴和侧轴是会变化的, flex-direction 则左到右 flex-end 从尾开始 center 主轴居中对齐 space-around 平分剩余空间 space -between 先两边贴边,再平分剩余空间 flex-wrap设置是否换行 flex-wrap 则左到右 flex-end 从尾开始 center 居中对齐 stretch 拉伸 align-content 设置侧轴上的子元素的排列方式(多行) 子项中出现换行wrap,才有效果 属性值 说明 flex-start 在侧轴的头部开始排列 flex-end 侧轴尾部开始排列 center 侧轴居中对齐 space-around 子项在侧轴平分剩余空间 space -between 侧轴先分布在两头,再平分剩余空间 stretch 子项元素高度平分父元素高度 单行用align-items 多行用align-content 常见的子项属性 flex属性 分配剩余空间,用flex来表示占多少份数 align-self

    21610

    flex 布局

    flex 是 flexible box 的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性 基本概念 采用 flex 布局的元素称为 ==flex 容器==,容器的直接子元素称为 ==flex 项目 为 row,则主轴是水平方向,如果是 column,则主轴是垂直方向 [vbx2puz3kw.jpeg] flex 属性 将任意元素的 display 属性设置为 flex,可将其转换为Flex容器 设为 flex 容器后,子元素的 float、clear 和 vertical-align 属性将失效 flex 容器属性 属性名描述 属性名 参数 主轴方向 flex-direction row(水平排列 (反向换行,第一行在最后面) 上面两个属性的简写 flex-flow row nowrap(默认值) 主轴对齐方式 justify-content flex-start(起点对齐,默认);flex-end ,并不是所有的浏览器、webview、微信等各种版本都支持标准的 flex,但是基本上都会支持-webkit-box,所以 flex.css 的主要作用是保证每一个属性都能支持标准 flex 或旧版本的

    74220

    flex布局方法详解之flex-direction

    首先声明,本文参考了阮一峰老师的博客,原文地址:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 本文结合微信小程序 来对flex布局做一个说明 本节重点讲解一下flex的布局方式。 新建一个页面: ? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 Flex 布局。 比如,你可以给一个DIV元素设置布局方式为flex,在微信小程序开发中,我们一般给view组件设置为flex布局。 Flex容器有多个属性。 我们在此可以采用flex技术。 首先,给box设置为flex盒子: ? 发现一件好玩的事情,三个view排在一排了。 现在,有请我们今天上场的第一位嘉宾: flex-direction , 掌声欢迎! flex-direction 属性决定主轴的方向(即子元素的排列方向)。

    43440

    Flex 源码解读

    你能通过源码看见 Row 和 Column 都继承了 Flex ,布局具体的计算都在这个类中,我们可以通过源码 github.com/flutter/flut 了解一下 Flex 是如何计算布局的。 Flex 构造函数 Flex({ Key key, @required this.direction, this.mainAxisAlignment = MainAxisAlignment.start , this.textBaseline, List<Widget> children = const <Widget>[], }) 基本上默认值的设计不管是 Row 还是 Column 都遵循了 Flex 通过逻辑可以分析出通过_getFlex计算出flex的值,flex 值存在然后去找到最后一个存在 flex 值的 child,对于不包含 flex 值的 child 则设置它们的对齐方向。 maxMainSize : 0.0) - allocatedSize); 开始去计算包含 flex 的空间大小,然后根据 CrossAxisAlignment.baseline 对 child 进行调整

    63920

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 弹性伸缩

      弹性伸缩

      腾讯弹性伸缩(AS)为您提供高效管理计算资源的策略。您可设定时间周期性地执行管理策略或创建实时监控策略,来管理 CVM 实例数量,并完成对实例的环境部署,保证业务平稳顺利运行。弹性伸缩策略不仅能够让需求稳定规律的应用程序实现自动化管理,同时告别业务突增或CC攻击等带来的烦恼,对于每天、每周、每月使用量不停波动的应用程序还能够根据业务负载分钟级扩展。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注腾讯云开发者

      领取腾讯云代金券