[英]How to make children 100% height of their flexbox parent without adding a 100% height to each child
[英]Make nested children 100% height of variable height container without flexbox
我在可变高度的容器中有一堆嵌套列表,我希望所有嵌套列表/子代占据容器高度的100%。
我试过使用flexbox,它在原理上可以工作,但是有大约5-6个嵌套列表(其中所有列表都有display:flex;和flex-direction:column;)。我注意到,当Chrome,FF和Safari出现巨大性能问题时,以编程方式添加更多的嵌套列表(可能有太多的重排吗?),所以在这种情况下我不能使用flexbox。 我还无法使用表和表单元使其工作。
这里是一个非常简单的示例: https : //jsfiddle.net/bf0f6zj5/
标记:
<ul>
<li>
<div>
text 1
</div>
<ul>
<li>
<div>
some very long text here
</div>
<ul>
<li>
<div>
text 3
</div>
<ul>
<li>text</li>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
CSS:
ul, li {
margin:0;
padding:0;
list-style-type: none;
overflow:hidden;
}
li {
border-left: 1px solid grey;
padding-left: 8px;
}
li > div {
padding-right: 4px;
float:left;
writing-mode: vertical-rl;
}
目的是使嵌套列表的左边界与最大列表的高度相同,而无需使用flexbox。
编辑:创建了一个新的小提琴https://jsfiddle.net/vgjkzhqq/3/以显示我在flexbox上遇到的性能问题(注意渲染需要多长时间-对我来说超过2000ms)
编辑2:粘贴错误的链接
根据许多不同的消息来源,包括Google Web开发人员,Flexbox不会引起性能问题:
Flexbox通常比旧的显示属性要快。 正如保罗所说:
旧的flexbox(显示:框)比新的flexbox(显示:框)慢2.3倍
希望能帮助到你 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.