ここで、単一の画像を使用して丸みを帯びた角を使用する例を見つけました。私はこれを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の幅が偶数の場合、右上のdivが実際にはright:1pxとして配置されているかのように、1pxの右側の境界線になってしまうことです。幅が奇数の場合、タブの右側の灰色が表示されず、divが期待どおりに表示されます。
私が使用している画像はここにあります。完全な例はここにあります。
右上のdivがright:0pxに正しく配置されていないのはなぜですか?タブ幅が偶数の場合、IE6で1pxのギャップが発生するのはなぜですか?