Chrome / Safari不会填充100%高度的flex父级
我想要一个具有特定高度的垂直菜单。
每个孩子必须填写父母的高度并且具有中间对齐的文本。
孩子的数量是随机的,所以我必须使用动态值。
Div .container
包含随机数的children(.item
),它们总是必须填充父级的高度。为了实现这一点,我使用了flexbox。
为了使文本链接与中间对齐,我正在使用display: table-cell
技术。但使用桌面显示需要使用100%的高度。
我的问题是.item-inner { height: 100% }
在webkit(Chrome)中无效。
这个问题有解决方法吗?
或者是否有一种不同的技术可以使所有.item
填充父级的高度与文本垂直对齐到中间?
这里的示例jsFiddle,应该在Firefox和Chrome中查看
.container { height: 20em; display: flex; flex-direction: column; border: 5px solid black}.item { flex: 1; border-bottom: 1px solid white;}.item-inner { height: 100%; width: 100%; display: table;}a { background: orange; display: table-cell; vertical-align: middle;}
<div class="container"> <div class="item"> <div class="item-inner"> <a>Button</a> </div> </div> <div class="item"> <div class="item-inner"> <a>Button</a> </div> </div> <div class="item"> <div class="item-inner"> <a>Button</a> </div> </div></div>
慕少森
拉莫斯之舞
相关分类