css: Flexbox 布局
Flexbox 布局 弹性盒子是一种新技术,但在如今各个浏览器都广泛支持的情况下,它已经开始准备广泛应用了。 弹性盒子提供了工具,允许快速创建曾经被证明用CSS很难实现的一些复杂,灵活的布局和功能。 基本概念 采用Flex布局的元素被称为 Flex容器 ,它所有的子级元素自动成为 FlexItem元素 Flexbox 产生的意义 长久以来,唯一可用的且有稳定的跨浏览器兼容性的能用来构建 CSS 布局的工具只有 floats 和 positioning。它们是既可行,表现也不错的布局方案,但是在某些布局方面它们就有限制,并且难以实现。 以下的布局要求很难用( floats 和 positioning)方便且灵活的实现: 在父内容里面垂直居中一个块内容 使容器的所有子项占用等量的可用宽度/高度,而不管有多少宽度/高度/子项数量等 使多列布局中的所有列采用相同的高度,即使它们包含的内容量不同 Flex容器 容器默认存在两根轴:水平的主轴 main axis 和垂直的交叉轴 cross axis 。主轴的开始位置(与边框的交叉点)叫做 main start ,结束位置叫做 main end ;交叉轴的开始位置叫做 cross start ,结束位置叫做 cross end 。 项目默认沿主轴排列。单个项目占据的主轴空间叫做 main size ,占据的交叉轴空间叫做 cross size