我想这是一个常见的问题,但没有找到任何好的答案,这里的问题并不完全是我的情况.此外,这是我的第一个问题,请不要太苛刻.大声笑
我有一个标准的CSS菜单,用UL和LI标签.我需要他们来横向覆盖整个页面(不是我的真实情况,但是我会把它简化为简单的情况).但是,这些项目是动态创建的,因此我无法对LI项目或边距进行硬编码.
我已经看到使用JavaScript来设置这些值的解决方案,但我真的很希望避免这些值.
最后,我看到一个很好的解决方案是设置
#menu { width: 100%; /* etc */ } #menu ul { display: table; } #menu ul li { display: table-cell; }
这将在大多数浏览器中创建所需的行为,除了IE.
有任何想法吗?提前致谢!
编辑:感谢您的回应.但是,由于生成这些项目的代码不是我的代码,所以在不使用JavaScript的情况下创建时不能设置内联样式.
解决方法
您不能设置内联元素的高度或宽度.
http://www.w3.org/TR/CSS2/visudet.html#inline-width
尝试显示:inline-block;
这里是ie的修复:
display:inline-block; zoom:1; *display:inline;