我目前有一个伪全宽水平导航,它是通过在每个列表元素上设置边距来创建的,这会导致导航扩展为几乎全宽。这样做的问题是,如果导航中的任何内容发生变化,它将中断,我将不得不找出新的确切边距以使其扩展到全宽。此外,不同的浏览器会稍微改变我的文本和其他内容的大小,这意味着一个浏览器中的全角在另一个浏览器中太大(并中断到另一行)。
因此,我正在尝试为此找出更好的解决方案。我有一个适用于顶级导航项的解决方案,其中涉及更改以下 CSS:
ul.menu {
list-style-type: none;
width: 100%;
margin: 0;
padding: 0;
overflow: hidden;
display: table;
}
ul.menu > li:first-child {
padding-left: 0;
}
ul.menu > li:last-child {
padding-right: 0;
}
ul.menu li {
padding: 12px;
display: table-cell;
text-align: center;
}
ul.menu li a {
padding: 12px 0;
margin: auto;
}
结果如下所示:
这似乎工作得很好,但不幸的是(并且可以预见),它弄乱了子菜单,现在看起来像这样:
多年来,我一直在玩弄子菜单 CSS,试图让它像以前一样工作,但没有成功。
有谁知道我需要在此处进行哪些更改才能使全宽导航适用于顶级元素,同时使子菜单保持原样?