css - 如何在菜单项之间均匀填充填充以将菜单宽度拉伸(stretch)到 100% 父 div 宽度?

标签 css css-tables

实现此目的的最佳无 JS 方式(最常见的浏览器友好)是什么?

我找到了一些相关的问题和答案:

width: 100% / number_of_li-s_in_ul;

http://jsfiddle.net/qx4WG/ (“静态”计算每个 li 的大小)- 由于 li 大小不同,无法使用

li {display: table-cell;} 

更新:http://jsfiddle.net/jwJBd/1035/ -> 效果很好,但我也使用子菜单,并且 position:relative; 在这里无法将子菜单定位在当前 li 下方。当position设置为static时,每次设置为display:block;时都会放大父LI;

display: box;

以前从未使用过它,只读了几篇文章,看起来浏览器支持很少

最佳答案

如果我正确理解你的问题,你想像表格一样均匀地显示菜单元素,并且能够使用绝对和相对定位显示CSS子菜单。

你的 jsfiddle 很接近,我唯一需要修复的是子菜单的位置

.sub-menu {
    display: none;
    /*left: 0;*/ /* i removed this */
    position: absolute;
    /* PLAY with this */
}

jsFiddled here

[帖子编辑]

设置您的 <li> 也很重要父级 table-layout:fixed属性(property)。这样,<li>将被设置为等宽。

#horizontal-style {
    display: table;
    width: 100%;
    table-layout:fixed; /* try this */
}

关于css - 如何在菜单项之间均匀填充填充以将菜单宽度拉伸(stretch)到 100% 父 div 宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20942204/

相关文章:

html - 尝试居中对齐列表项

html - 如何在谷歌浏览器上删除 iframe 的水平滚动条

html - 页面布局未显示正确的结果

jquery - 如何将滚动条合并到q提示中?

html - CSS 中的 colspan ?

css - 当所有元素都绝对定位时使用溢出隐藏

html - Edge 和 chrome 中必填字段验证器的不同行为?

html - 调整显示:table-row的div中的img高度

html - 如何使两列与图像保持相同的高度?

html - 为什么我的不显示: table-cell element fill available space?