看到提问区有同学说这里只要触发BFC就能得到宽度,我试了下,发现应该不是BFC的原因。
而是因为ul默认是块标签,所以宽度是占据父元素100%的,不会被内容撑开,这里只要把ul的display设置成inline-block 或者设置浮动,就能让ul自适应内容宽度了。
如果是BFC的原因的话,ul设置overflow:hidden 照理说是触发BFC了,但是我试了发现并不会把宽度撑开。
希望老师指点一下我的想法对不对。
html:
<div> <ul> <li>1111</li> <li>1111</li> <li>1111</li> <li>1111</li> <li>1111</li> </ul> </div>
css:
div { background: red; width: 100px; height: 50px; white-space: nowrap; overflow: hidden; } ul { padding: 0; margin: 0; list-style: none; /*float: left; display: inline-block; overflow: hidden;*/ } li { display: inline-block }
这个例子里float: left; 和 display: inline-block;只要设置一个就能从审查元素里看到ul的宽度超过外面的div,而只设置overflow:hidden则不行。
掌握Vue1.0到2.0再到2.5最全版本应用与迭代,打造极致流畅的WebApp
了解课程