<!DOCTYPE html>
<html>
<head>
<title>test-indexOf</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style type="text/css">
div {
display: flex;
/* flex-direction属性决定主轴的方向 flex-direction: row | row-reverse | column | column-reverse; */
flex-direction: row;
/* flex-wrap是否换行排列 flex-wrap: nowrap | wrap | wrap-reverse; */
flex-wrap: wrap;
/*justify-content属性定义了项目在主轴上的对齐方式。 justify-content: flex-start | flex-end | center | space-between | space-around; */
justify-content: center;
/*align-items属性定义项目在交叉轴上如何对齐 align-items: flex-start | flex-end | center | baseline | stretch; */
align-items: center;
/*align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。 align-content: flex-start | flex-end | center | space-between | space-around | stretch; */
align-content: flex-start;
}
span {
width: 100px;
height: 100px;
border: 1px solid red;
}
</style>
</head>
<body>
<div>
<span>
1
</span>
<span>
2
</span>
<span>
3
</span>
<span>
4
</span>
<span>
5
</span>
<span>
6
</span>
</div>
</body>
</html>
牢记:
父级元素需要
display:flex;
flex-direction:是控制子元素们横着还是竖着排列,俗称主轴方向。
justify-content:是设置主轴方向上的对齐方式。
align-items:是设置交叉轴(假设主轴是x轴,交叉轴就是y轴)上的对齐方式。
根据手动一个个测试来看。用这3个样式属性足以满足日常布局。再就是用到flex-wrap排列顺序,看是否需要换行。
直接写就完事了,
1、上来就是display:flex;
2、flex-direction,看是x或者y轴排列。
3、是居中还是从左往右排列(justify-content)。
4、再看看交叉轴是居中还是从左往右排列(align-items)。
官方教程链接 https://www.runoob.com/w3cnote/flex-grammar.html
flex-direction
flex-wrap
flex-flow
justify-content
align-items
align-content