我创建了一个由按钮组成的水平菜单。我需要这些按钮调整宽度,以便它们一起占据菜单容器宽度的 100%。它的行为方式应该与 TD 在 TABLE 中的行为方式相同。
因此,这是我想出的代码:
<div id="menubar">
<div id="menu">
<div class="button">
<Button>Button 1</Button>
</div>
<div class="button">
<Button>Button 2</Button>
</div>
<div class="button">
<Button>Button 3</Button>
</div>
<div class="button">
<Button>Button 4</Button>
</div>
</div>
</div>
和我的 CSS:
#menubar {
width: 100%;
height: 100%;
display: table;
table-layout: fixed;
}
#menu {
display: table-row;
}
#menu .button {
position: relative;
display: table-cell;
}
#menu .button Button {
position: absolute;
right: 0px;
bottom: 0px;
top: 0px;
left: 0px;
}
这在除 Mozilla 之外的所有浏览器中都能完美运行。Mozilla 似乎不尊重按钮类的相对位置,因此,所有按钮都绝对位于彼此顶部之一(而不是绝对位于具有“按钮”类的 DIV 内)。
经过一些进一步的研究,当显示设置为“表格单元格”时,这似乎是 Mozilla 的一个已知问题,而不是各自的“相对”位置。
有谁知道解决方法来实现我想要做的事情?
注意:菜单是动态的,所以我不知道会有多少按钮,所以我无法为每个按钮提供百分比宽度。