【发布时间】:2013-04-23 20:37:21
【问题描述】:
我目前有一个伪全宽水平导航,它是通过在每个列表元素上设置边距来创建的,这会导致导航扩展为几乎全宽。这样做的问题是,如果导航中的任何内容发生变化,它将中断,我将不得不找出新的确切边距以使其扩展到全宽。此外,不同的浏览器会稍微改变我的文本和其他内容的大小,这意味着一个浏览器中的全角在另一个浏览器中太大(并中断到另一行)。
所以我正在尝试为此找出更好的解决方案。我有一个适用于顶级导航项的解决方案,其中涉及更改以下 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,试图让它像以前一样工作,但没有成功。
有谁知道我需要在此处进行哪些更改才能使顶级元素的全宽度导航正常工作,同时使子菜单保持原样?
【问题讨论】:
-
我正在尝试将您的实时 CSS 调整为您发布的“CSS 更改”,但我没有让子菜单中断。在这一点上,我不得不问你是否可以创建一个小提琴?我没有看到问题出现在哪里。谢谢!
-
嗨,乔丹,我将网站保存在本地,然后添加了您的附加 CSS 规则,但我没有得到相同的结果。你能用新的主要导航样式创建一个小提琴吗?我可以从那里帮助解决问题。
-
这里是一个链接回答,descibes full width responsive horizontal page navigation
标签: css