我在这里找到了一个使用单个图像使用圆角的示例。我在 IE7+ 和 FireFox 中完美运行。
以下是一个示例选项卡布局:
<div class="tab"><div class="corner TL"></div><div class="corner TR"></div>
<div class="inner"><p>Test 1</p></div>
</div>
<div class="tab"><div class="corner TL"></div><div class="corner TR"></div>
<div class="inner"><p>Test - 2</p></div>
</div>
<div class="tab"><div class="corner TL"></div><div class="corner TR"></div>
<div class="inner"><p>Test - 3</p></div>
</div>
以下是我的 CSS 样式:
.corner
{
background:url(../Images/LightCorner.gif);
position:absolute;
width:13px;
height:13px;
overflow:hidden;
}
.inner
{
position:relative;
padding:13px;
margin:0px;
}
.inner p
{
padding:0px;
}
.tab
{
color:#FFF;
float:left;
font-weight:bold;
margin-right:5px;
position:relative;
text-align:center;
}
.tab p
{
margin:0px;
padding:0px;
}
.tab
{
background:#B5B5B5;
}
.TL
{
top:0px;
left:0px;
background-position:0px 0px;
}
.TR
{
top:0px;
right:0px;
background-position:-13px 0px;
}
.TL, .TR
{
margin:0px;
padding:0px;
position:absolute;
}
问题是当我的 div 的宽度是偶数时,我最终会得到一个 1px 的右侧边框,就好像右上角的 div 实际上被定位为 right:1px。当宽度为奇数时,我看不到选项卡的右侧灰色,并且 div 按预期显示。
为什么右上角的 div 没有正确定位在 right:0px?当标签宽度为偶数时,为什么我在 IE6 中会出现 1px 的间隙?