我有一个水平菜单/导航栏,目前使用两行表布局。它可以正常工作,但如果可能的话,我想知道如何在不使用表格的情况下创建它。我花了几天的大部分时间尝试各种 div/spans/uls 浮动块/内联等,但无济于事。主要约束是:
> IE7+、FF3+
> 新解决方案必须保持视觉和功能不变(对用户而言)。
> 菜单项的宽度不尽相同,可能会发生变化。
> 行高为 26 像素,以容纳提供“按钮”外观的背景图像。
这是一个使用表格的工作示例:水平菜单栏
那么,有什么建议吗?(或完整的解决方案:)感谢您的帮助!
<!DOCTYPE HTML><html><head>
<title>Nav Bar Test</title>
<style>
body { font-family: arial; }
.page-wrapper {
width: 850px; margin: auto; border: solid 02px black; background: cyan;}
table.menu_bar {
width : 100%;
font-size: .9em;
border-style : none;
border-collapse: collapse;
}
table.menu_bar td {
background-color: white;
border-width : 1px;
padding : 0px;
border-style : solid;
border-color : #555;
}
.menu_bar a {
display : block;
height : 26px;
color : black;
text-align : center;
text-decoration : none;
background : url(GRAY_bg1.PNG);
background-repeat: repeat;
background-color : silver;
overflow : hidden;
}
.menu_bar a:hover {
background: url(RED_bg1.PNG); background-color : red;}
.menu_bar a:active {
background: url(RED_bg2.PNG); background-color : #F55;}
.menu_bar div { margin-top: 4px; }
</style>
</head>
<body><div class="page-wrapper"><br>
<table class="menu_bar" ><tr>
<td><a href="#" class="menu_bar"><div>Menu Item</div></a></td>
<td><a href="#" class="menu_bar"><div>Very Long Menu Item</div></a></td>
<td><a href="#" class="menu_bar"><div>Long Menu Item</div></a></td>
<td><a href="#" class="menu_bar"><div>Item </div></a></td>
<td><a href="#" class="menu_bar"><div>Menu Item</div></a></td>
</tr></table>
<br></div><!--End page-wrapper--></body></html>