【发布时间】:2010-11-15 06:59:09
【问题描述】:
我有一个标准的 CSS 菜单,由 UL 和 LI 标签组成。我需要它们水平地覆盖整个页面(不是我的真实情况,但我会用它来简化情况)。但是,这些项目是动态创建的,因此我无法硬编码任何与 LI 项目或边距有关的内容。
我见过使用 JavaScript 设置这些值的解决方案,但我真的很想避免使用它们。
最后,我看到了一个很好的解决方案,它正在设置
#menu {
width: 100%;
/* etc */
}
#menu ul {
display: table;
}
#menu ul li {
display: table-cell;
}
这将在大多数浏览器中创建所需的行为...除了 IE。
有什么想法吗?
编辑:感谢您的回复。但是,由于生成项目的代码不是我的,我无法在创建项目时设置内联样式,而无需稍后使用 JavaScript。
【问题讨论】:
-
您需要它们“覆盖整个页面”吗?您的意思是水平 100% 页面宽度,均分?您是否能够在每个页面上使用标准按钮,以及动态创建的子菜单?另外:哪个版本的 IE 出现了问题?我认为是
display: table /* or table-cell */引起了问题。尽管我内心厌恶,但如果您以这种方式呈现,您可能还不如使用真正的 html 表...对不起 =( -
嗨。没有必要覆盖整个页面,但我这样做是为了简化情况。是的,它们应该间隔相等。我不太了解按钮问题。您指的是标准
标签: list stylesheet spacing css