我有一个这样的菜单:
<ul class="menu">
<li>item 1</li>
<li>item 2</li>
<ul>
<li>item</li>
<li>item</li>
<li>item</li>
</ul>
<li>item 3</li>
<ul>
<li>item-only-child</li>
</ul>
<li>item 4</li>
</ul>
二级菜单(项目)应该水平显示,所以我制定了一个规则
.menu li ul { width: 400px }
和
.menu li li {width: 200px }
,第一个/更宽的一个,充当包装器。问题是,当第二级只有 1 个子级时,包装器仍然存在,因此它创建了一个空白空间,因为 li 只占据了包装器的一半。
我试过了
.menu li ul li:only-child,
但这并没有解决它,因为如果只有一个 li,我需要更改 .menu li ul。
我在想这样的事情:
**if** .menu li ul li:only-child {
menu li ul {width: 200px}
}
当然它不起作用,只是试图理解这一点。
我应该怎么办?
提前致谢
编辑:将“菜单”更改为“ul class="menu"。