将CSS容器伸展到最宽的隐藏子元素的宽度

4
我有一个非常简单的无序列表示例,带有黑色边框,并且其中一个子元素被隐藏:http://jsfiddle.net/spryno724/Sm9Lx/1/。请注意,隐藏的子元素比可见元素宽得多,但容器仅缩放到可见子元素的宽度。
是否有一种方法可以在CSS中自动将此容器的宽度缩放到其最宽的子元素的宽度,即使该元素被隐藏?
我知道这可以通过JavaScript实现,但如果可能的话,我想避免使用脚本技巧,直接使用CSS。
另外,我想避免设置特定的宽度,因为在我的实际应用中,我的容器将包含未知宽度的视觉对象。
谢谢您的时间。
3个回答

6

在隐藏的 li 上使用 visibility: hidden; 而不是 display: none;

  • visibility: hidden; 保留元素的空间

  • display: none; 就好像该元素在标记中不存在


3
只使用"visibility: hidden",ul 元素也会扩展以适应高度。不确定这是否符合 OP 的要求。在我的下面答案中,我添加了"height: 0"。 - Darek Rossman
啊!我甚至没有考虑到可见性!谢谢你! - Oliver Spryn

3
如何呢:
<li style="visibility: hidden; height: 0;">This is not the first list element, ok?</li>

太棒了!正是我所需要的! - Oliver Spryn

0

你可以使用 opacity: 0 替代 display: none


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接