博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flex布局学习总结
阅读量:4597 次
发布时间:2019-06-09

本文共 1350 字,大约阅读时间需要 4 分钟。

最近项目主要是小程序,小程序里面的布局主要采用flex布局,之前对flex 布局只是稍作了解,总结下flex 布局的常用套路

容器

Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。

任何一个容器都可以指定为Flex布局。像这样:

.container{   display: flex;}

轴(Axis)

每个弹性框布局包含两个轴。弹性项目沿其依次排列的那根轴称为主轴(main axis)。垂直于主轴的那根轴称为侧轴(cross axis)。

flex-direction 确立主轴。

justify-content 定义了在当前行上,弹性项目沿主轴如何排布。
align-items 定义了在当前行上,弹性项目沿侧轴默认如何排布。
align-self 定义了单个弹性项目在侧轴上应当如何对齐,这个定义会覆盖由 align-items 所确立的默认值。

方向(Direction)

弹性容器的主轴起点(main start)/主轴终点(main end)和侧轴起点(cross start)/侧轴终点(cross end)描述了弹性项目排布的起点与终点。它们具体取决于弹性容器的主轴与侧轴中,由 writing-mode 确立的方向(从左到右、从右到左,等等)。

order 属性将元素与序号关联起来,以此决定哪些元素先出现。

flex-flow 属性是 flex-direction 和 flex-wrap 属性的简写,决定弹性项目如何排布。

行(Line)

根据 flex-wrap 属性,弹性项目可以排布在单个行或者多个行中。此属性控制侧轴的方向和新行排列的方向。

尺寸(Dimension)

根据弹性容器的主轴与侧轴,弹性项目的宽和高中,对应主轴的称为主轴尺寸(main size) ,对应侧轴的称为 侧轴尺寸(cross size)。

min-height 与 min-width 属性初始值将为 0。

flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写,描述弹性项目的整体的伸缩性

CSS属性flex规定了弹性元素如何伸长或缩短以适应flex容器中的可用空间。这是一个简写属性,用来设置flex-grow, flex-shrinkflex-basis

大多数情况下,开发者需要将flex设置为autoinitialnone,或一个无单位正数

  1. auto
    元素会根据自身的宽度与高度来确定尺寸,但是会自行伸长以吸收flex容器中额外的自由空间,也会缩短至自身最小尺寸以适应容器。这相当于将属性设置为 "flex: 1 1 auto".
  2. initial
    属性默认值, 元素会根据自身宽高设置尺寸。它会缩短自身以适应容器,但不会伸长并吸收flex容器中的额外自由空间来适应容器 。相当于将属性设置为"flex: 0 1 auto"。
  3. none
    元素会根据自身宽高来设置尺寸。它是完全非弹性的:既不会缩短,也不会伸长来适应flex容器。相当于将属性设置为"flex: 0 0 auto"。

参考

转载于:https://www.cnblogs.com/renbo/p/10046650.html

你可能感兴趣的文章
hdoj1002
查看>>
数据结构,你还记得吗(中)
查看>>
C#规范整理·资源管理和序列化
查看>>
java IO笔记(InputStream/OutputSteram)
查看>>
Android_AsyncTask
查看>>
软件项目版本号的命名规则及格式
查看>>
排序算法
查看>>
屏幕滑动与滚动条事件进行绑定
查看>>
js清除浏览器缓存的几种方法
查看>>
hdu 3127(矩阵切割)
查看>>
hdu 1864(01背包)
查看>>
[stl] SGI STL的空间配置器
查看>>
【IIS】IIS中同时满足集成模式和经典模式
查看>>
使用DOM解析XML文档
查看>>
python函数参数传递总结
查看>>
java生成Https证书,及证书导入的步骤和过程
查看>>
iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
查看>>
LeetCode 661. Image Smoother
查看>>
(译文)MVC通用仓储类
查看>>
《操作系统》第5章:输入/输出(I/O)管理
查看>>