定义:它决定了元素如何在页面上排列,使它们能在不同的屏幕尺寸和设备下可预测地展现出来,更简便、完整、响应式地实现各种页面布局。
它的主要思想是使父元素能够调整子元素的宽度、高度、排列方式,从而更好的适应可用的布局空间
语法:
.box{display: flex;
}
属性1:flex-direction主轴的方向,目前是纵轴
属性2:flex-wrap,排不下怎么办
属性3:justify-content主轴的对齐方式
属性值 | 含义 |
---|---|
flex-start | 默认值,左对齐 |
flex-end | 右对齐 |
center | 居中 |
space-between | 两端对齐,项目之间的间隔都相等 |
space-around | 每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍 |
属性4:align-items属性定义项目在交叉轴上如何对齐。
属性值 | 含义 |
---|---|
flex-start | 交叉轴的起点对齐 |
flex-end | 交叉轴的终点对齐 |
center | 交叉轴的中点对齐 |
baseline | 项目的第一行文字的基线对齐 |
stretch | (默认值) 如果项目未设置高度或设为auto,将占满整个容器的高度 |
案例:一个大盒子里面有三个小盒子,大盒子规定小盒子的排版
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.outer {width: 400px;height: 200px;background-color: rgb(243, 141, 184); border: 1px solid black;/* 在外层盒子中规定内层盒子的排版 */display: flex;flex-direction:row;justify-content:space-around;align-items:center;flex-wrap: wrap;}.inner {width: 110px;height: 90px;background-color: aqua; border: 1px solid black;/* 文字如何居中 */text-align: center;line-height: 80px;}</style>
</head>
<body><div class="outer"><div class="inner">嘻嘻</div><div class="inner">哈哈</div><div class="inner">嘿嘿</div></div>
</body>
</html>