程序员

Flexbox 完整指南(css flex)

2018-12-05  本文已影响0人  草_帽

开始

本篇文章希望能够让大家都很清楚理解 FlexBox,很多时候小伙伴们,可能因为理解的不够清楚,从而在编写代码中,需要一个个的尝试。

下面给大家推荐一个 Github 比较好的一个** flexbox** 工具,以及演示地址,可以在线演示,帮助大家更快的理解。

演示地址:https://jonathantneal.github.io/flexibility/

Github地址:https://github.com/sin-ning/flexibility

基础知识和术语

container 容器

也就所我们所谓的 parentNode,用来承载自容器的父级容器都可以叫做 container。

image

items 每一项

可以理解为 childrenNode,每个子节点。

image

我们在开始使用的回收需要将 display 设置为 flex

.container {
  display: flex; /* or inline-flex */
}

order 排序

排序规则,可用于每个节点间的排序,无论你节点顺序是什么,只要加上 order 设置数值,就会按数值排序

如:节点 a = 3 b=1 c=2 那么最终展示的顺序是 b c a

.item {
  order: <integer>; /* default is 0 */
}
image

flex-direction

flex 方向,可用于不同的排列方式

.container {
  flex-direction: row | row-reverse | column | column-reverse;
}
image

flex-grow

这定义了Flex项目在必要时增长的能力。它接受一个无比的值作为一个比例。它规定了项目应占用的Flex容器内可用空间量。

如果所有项目都flex-grow设置为1,则容器中的剩余空间将平均分配给所有子项。如果其中一个孩子的值为2,则剩余空间将占用其他空间的两倍(或者至少会尝试)。

.item {
  flex-grow: <number>; /* default 0 */
}
image

flex-wrap

默认情况下,flex项目都会尝试适合一行。您可以更改它并允许项目根据需要使用此属性进行换行。

.container{
  flex-wrap: nowrap | wrap | wrap-reverse;
}

image

justify-content

.container {
  justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
}
image

align-items

这允许align-items为各个弹性项覆盖默认对齐(或指定的对齐)。

请参阅align-items说明以了解可用的值。

.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

请注意float,clear并且vertical-align对弹性项目没有影响。

image

align-items


.container {
  align-items: flex-start | flex-end | center | baseline | stretch;
}

image

align-content


.container {
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}

image
上一篇 下一篇

猜你喜欢

热点阅读