目前我的“flex”项目看起来像这样(垂直对齐:顶部)......
_____________________________________
1
_____________________________________
2
_____________________________________
3
_____________________________________
4
_____________________________________
我的目标是让它们看起来像这样(垂直对齐:中间)......
_____________________________________
1
_____________________________________
2
_____________________________________
3
_____________________________________
4
_____________________________________
我的要求:
- 弹性容器必须保持在 100% 的高度
- 弹性项目必须保持 25% 的高度(等于 100%,这是它的默认值)。
- 弹性项目必须垂直居中。
- 这必须是响应式的并且足够聪明以保持在每个设备的中间(所以没有行高/填充)
http://jsfiddle.net/oneeezy/p4XtA/
HTML
<!-- Flex Box -->
<section>
<!-- Flex Items -->
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</section>
CSS
/* Flex Box */
section { padding: 1em; background: black; display: flex; flex-flow: column; height: 100%; justify-content: space-around; }
/* Flex Items */
div { border-top: 1px solid #ccc; background: #f2f2f2; height: 25%; }
div:first-child { border-top: 1px solid transparent; }
div:hover { background: white; }