我有一个名为#menu
800px 宽的 div。在其中,我有 8 个导航链接。其中的元素应该尽可能长,并且都应该具有相同的宽度,但它们应该一起在单行上填充父 div(即不换行)。
在每个元素之间,应该有一个 1px 的边框(或者可能是一个 1px 的边距)。所有链接,除了当前页面链接(无论#current
应用到哪个链接)都应该有一个1px solid #505050
底部边框。虽然当前页面链接不应该有可见的底部边框(以便导航选项卡与内容 div“合并”)。
我当前的代码几乎已经完成了我想要的,但是它缺少链接之间的边框/边距......如果我在两侧添加边框/边距,显然,当前12.5%
宽度(参见下面的 CSS 代码)变得不准确,我可以'不要对其进行微调,以便它确实填充#menu
div跨浏览器(元素将溢出#menu
div,或者它们不会填充它 - 在至少一个浏览器中)。
CSS:
#menu {
border:1px solid #505050;
border-bottom:none;
width:800px;
}
#menu a {
display:inline-block;
outline:none;
text-align:center;
width:12.5%;
padding-top:12px;
padding-bottom:10px;
background-image:url(/img/menu.gif);
border-bottom:1px solid #505050;
color:#D9D9D9;
font-weight:bold;
font-size:13px;
font-family:Verdana, sans-serif;
text-shadow:1px 1px #505050;
}
#menu #current {
background-image:url(/img/menu_current.gif);
color:#505050 !important;
border-bottom-color:#D9D9D9;
text-shadow:none;
}
HTML:
<div id="menu">
<a href="/page1.html" id="current">Link 1</a>
<a href="/page2.html">Link 2</a>
<a href="/page3.html">Link 3</a>
<a href="/page4.html">Link 4</a>
<a href="/page5.html">Link 5</a>
<a href="/page6.html">Link 6</a>
<a href="/page7.html">Link 7</a>
<a href="/page8.html">Link 8</a>
</div>
两个要求:
- 该解决方案应该适用于 IE6 和更高版本的 IE,以及最新版本的 Firefox、Chrome、Safari 和 Opera
- 请不要使用JavaScript
如果:
- 该解决方案有效,因此可以添加链接而无需重新调整元素的宽度
您当然可以完全重写 CSS/HTML。无需重复使用上面的任何代码,我只是展示我自己的方法。另外,我知道 IE6 不支持 text-shadow 规则,但这不是必需的。
目前的样子
预期结果