.flex {
display: flex;
justify-content: center;
align-items: center;
}
还是不要用浮动 float了 根本没必要,给ul加一个 class ="flex" 妥妥的,然后调间距用justify-content 很舒服的。
转自 菜鸟教程 http://www.runoob.com/cssref/css-reference.html
弹性盒子模型(Flexible Box) 属性(新)
属性 | 说明 | CSS |
---|---|---|
flex | 复合属性。设置或检索弹性盒模型对象的子元素如何分配空间。 | 3 |
flex-grow | 设置或检索弹性盒的扩展比率。 | 3 |
flex-shrink | 设置或检索弹性盒的收缩比率。 | 3 |
flex-basis | 设置或检索弹性盒伸缩基准值。 | 3 |
flex-flow | 复合属性。设置或检索弹性盒模型对象的子元素排列方式。 | 3 |
flex-direction | 该属性通过定义flex容器的主轴方向来决定felx子项在flex容器中的位置。 | 3 |
flex-wrap | 该属性控制flex容器是单行或者多行,同时横轴的方向决定了新行堆叠的方向。 | 3 |
align-content | 在弹性容器内的各项没有占用交叉轴上所有可用的空间时对齐容器内的各项(垂直)。 | 3 |
align-items | 定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。 | 3 |
align-self | 定义flex子项单独在侧轴(纵轴)方向上的对齐方式。 | 3 |
justify-content | 设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。 | 3 |
order | 设置或检索弹性盒模型对象的子元素出现的順序。 | 3 |
下面的值有些值在谷歌浏览器上多一点, 好像火狐不兼容 left right 应该有用
更改justify-content 的值
值 | 描述 | 测试 |
---|---|---|
flex-start | 默认值。项目位于容器的开头。 | 测试 » |
flex-end | 项目位于容器的结尾。 | 测试 » |
center | 项目位于容器的中心。 | 测试 » |
space-between | 项目位于各行之间留有空白的容器内。 | 测试 » |
space-around | 项目位于各行之前、之间、之后都留有空白的容器内。 | 测试 » |
initial | 设置该属性为它的默认值。请参阅 initial。 | 测试 » |
inherit | 从父元素继承该属性。请参阅 inherit。 |
元素太多 换行的话给父元素 flex-wrap:wrap 换行
CSS 语法
flex-wrap: nowrap|wrap|wrap-reverse|initial|inherit;
属性值
值 | 描述 |
---|---|
nowrap | 默认值。规定灵活的项目不拆行或不拆列。 |
wrap | 规定灵活的项目在必要的时候拆行或拆列。 |
wrap-reverse | 规定灵活的项目在必要的时候拆行或拆列,但是以相反的顺序。 |
initial | 设置该属性为它的默认值。请参阅 initial。 |
inherit | 从父元素继承该属性。请参阅 inherit。 |
但是会发生换行下来的元素距离上面太远 就用 align-content: space-evenly;
CSS 语法
align-content: stretch|center|flex-start|flex-end|space-between|space-around|initial|inherit;
默认值
值 | 描述 | 测试 |
---|---|---|
stretch | 默认值。元素被拉伸以适应容器。 各行将会伸展以占用剩余的空间。如果剩余的空间是负数,该值等效于'flex-start'。在其它情况下,剩余空间被所有行平分,以扩大它们的侧轴尺寸。 | 测试 » |
center | 元素位于容器的中心。 各行向弹性盒容器的中间位置堆叠。各行两两紧靠住同时在弹性盒容器中居中对齐,保持弹性盒容器的侧轴起始内容边界和第一行之间的距离与该容器的侧轴结束内容边界与第最后一行之间的距离相等。(如果剩下的空间是负数,则各行会向两个方向溢出的相等距离。) | 测试 » |
flex-start | 元素位于容器的开头。 各行向弹性盒容器的起始位置堆叠。弹性盒容器中第一行的侧轴起始边界紧靠住该弹性盒容器的侧轴起始边界,之后的每一行都紧靠住前面一行。 | 测试 » |
flex-end | 元素位于容器的结尾。 各行向弹性盒容器的结束位置堆叠。弹性盒容器中最后一行的侧轴起结束界紧靠住该弹性盒容器的侧轴结束边界,之后的每一行都紧靠住前面一行。 | 测试 » |
space-between | 元素位于各行之间留有空白的容器内。 各行在弹性盒容器中平均分布。如果剩余的空间是负数或弹性盒容器中只有一行,该值等效于'flex-start'。在其它情况下,第一行的侧轴起始边界紧靠住弹性盒容器的侧轴起始内容边界,最后一行的侧轴结束边界紧靠住弹性盒容器的侧轴结束内容边界,剩余的行则按一定方式在弹性盒窗口中排列,以保持两两之间的空间相等。 | 测试 » |
space-around | 元素位于各行之前、之间、之后都留有空白的容器内。 各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。如果剩余的空间是负数或弹性盒容器中只有一行,该值等效于'center'。在其它情况下,各行会按一定方式在弹性盒容器中排列,以保持两两之间的空间相等,同时第一行前面及最后一行后面的空间是其他空间的一半。 | 测试 » |
initial | 设置该属性为它的默认值。请参阅 initial。 | 测试 » |
inherit | 从父元素继承该属性。请参阅 inherit。 |
多余的没有过多使用,