Flex弹性盒布局

Flex布局语法

块级元素 display : flex;

行内元素 display : inline-flex;

1、flex-direction属性

flex-direction   决定主轴的方向(即项目的排列方向)

flex-direction :row-reverse  (会改变item的排列方向 改为 从右到左的顺序   主轴仍然是水平方向)

flex-direction :row (默认 item从左到右的顺序排列) 主轴为水平方向,起点在左端、右端

flex-direction :column 会改变主轴方向 改成垂直方向 是从上到下的顺序

flex-direction :column-reverse 会改变顺序 改成从下到上的顺序 主轴还是垂直方向

row


row-reverse 


column


column-reverse


2、flex-wrap属性

 flex-wrap属性定义了如果一条轴线排不下,如何换行

nowrap(默认):不换行

wrap:换行,第一行在上方

wrap-reverse:换行,第一行在下方

不加换行属性会出现下面场景:如果父元素盒子的总宽度小于子元素宽度的总和,子元素设置的宽高一样,应该是正方形,不加换行就会出现列表自动给宽度自适应成盒子宽度的总长度

加换行属性如下,变成正常的大小

总结:flex-flow是复合属性:是flex-direction和flex-wrap的简写形式,默认值为row nowrap可以写成

flex-flow:column wrap,取两个属性的值即可 只写一个值 另一个就是默认值

3、 justify-content属性

justify-content 定义了项目在主轴上的对齐方式

justify-content:flex-start(默认值):左对齐

justify-content:flex-end:右对齐

justify-content:center: 居中 就算有margin也会把整个子元素居中,并且左右两边的距离边框的大小相等

justify-content:space-between:两端对齐,项目之间的间隔都相等

justify-content:space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍

justify-content: space-evenly;项目之间左右的间距以及项目和边框之间的间距 都相等,会受到子元素设置margin的影响


center


space-between


space-around


space-evenly

4、align-items属性

align-items 定义项目在交叉轴上对齐方式

align-items: flex-start:交叉轴的起点对齐 默认值

align-items:flex-end:交叉轴的终点对齐

align-items:center:交叉轴的中点对齐

 align-items:baseline: 项目的第一行文字的基线对齐

align-items:stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度


flex-start


flex-end


center


baseline


stretch

5、align-content属性

align-content 定义了多根轴线的对齐方式

flex-start  与交叉轴的起点对齐

flex-end    与交叉轴的终点对齐

center  与交叉轴的中点对齐

space-between   与交叉轴两端对齐,轴线之间的间隔平均分布

space-around    每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍

stretch(默认值)    轴线占满整个交叉轴 ★ 子元素不设置高度或者高度auto


align-content : center 


align-items

align-content 对比align-items 前者是将多根轴线当做一个整体实现居中,后者将每个轴线单个当做一个整体居中

5、 order属性

order 定义项目的排列顺序。数值越小,排列越靠前,默认为0

6、align-self属性

align-self: auto | flex-start | flex-end | center  | stretch;
交叉轴上的对齐方式,允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性 ★在多根轴线下设置无效


7、 flex复合属性

flex: flex-grow flex-shrink flex-basis

flex-grow 定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。主要作用是:分配剩余空的, flex-grow:1;表示把剩余的空间都充满,如果每个项目都设置flex-grow:1不要使用flex-wrap进行换行

flex-shrink用来表示是否被压缩 默认值是1 表示被压缩,改成0表示不被压缩 保持设置的尺寸

flex-basis默认值是auto flex-basis优先级比width要高,同时设置,只会展示flex-basis的宽度

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

相关阅读更多精彩内容

  • /* flex-flow: flex-direction flex-wrap;复合属性 flex-d...
    冲锋敢死曾小贤阅读 1,441评论 0 0
  • 今天整理了一下弹性盒布局,希望给我们的小白童鞋一点帮助。既然要用这种布局,就不得不考虑它的兼容性,不要慌can i...
    锋享前端阅读 3,717评论 0 1
  • 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已...
    丫3阅读 3,660评论 0 0
  • 1基本介绍: 任何一个容器都可以指定为 Flex 布局。 .box{display:flex;} 行内元素也可...
    专注_刻意练习阅读 5,896评论 0 3
  • 一、Flex布局是什么? Flex是Flexible Box的缩写,翻译成中文就是“弹性盒子”,用来为盒装模型提供...
    向往自由_loser阅读 3,685评论 0 1

友情链接更多精彩内容