演示第一(我在IE7,8,9,10測試這個問題,以及最新的Chrome和Firefox):
http://jsbin.com/ImEvAGoJ/5
我用的border
和box-shadow
組合來實現雙邊界效應。當然box-shadow
不支持IE8及更低版本,所以我不得不使用相當於DropShadow
的篩選器(more info)。例如:
.table_main .top.right {
box-shadow: 1px 0 white, 4px 0 #d6d6d6,
0 -1px white, 0 -4px #d6d6d6,
1px -1px white, 4px -4px #d6d6d6;
filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=0, OffY=-1, Color='#00ffffff', Positive='true'),
progid:DXImageTransform.Microsoft.dropshadow(OffX=0, OffY=1, Color='#00ffffff', Positive='true'),
progid:DXImageTransform.Microsoft.dropshadow(OffX=-1, OffY=0, Color='#00ffffff', Positive='true'),
progid:DXImageTransform.Microsoft.dropshadow(OffX=1, OffY=0, Color='#00ffffff', Positive='true'),
progid:DXImageTransform.Microsoft.dropshadow(OffX=0, OffY=-3, Color='#00d6d6d6', Positive='true'),
progid:DXImageTransform.Microsoft.dropshadow(OffX=3, OffY=0, Color='#00d6d6d6', Positive='true');
}
注意,灰色box-shadow
是4px
寬,因爲它與重疊1px
白色陰影。
另外,這裏假定你可以改變你桌子上的類,我認爲你說你可以在上面的一個評論中做的。
基本上,使用outside
類,分別bottom
right
類頂行,左邊一列,下排,右列單元格是你的灰色邊框,top
,left
,邊所有單元格。你的HTML應該是這樣的:
<table class="table_main" width="400" align="center" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="outside">how to remove top border from this cell?</td>
<td class="top left">vb</td>
<td class="top">X</td>
<td class="top right">g</td>
</tr>
<tr>
<td class="outside">2</td>
<td class="left">z</td>
<td>x</td>
<td class="right">x</td>
</tr>
<tr>
<td class="outside">3</td>
<td class="left bottom">v</td>
<td class="bottom">v</td>
<td class="bottom right">d</td>
</tr>
<tr>
<td class="outside">4</td>
<td class="outside">r</td>
<td class="outside">r</td>
<td class="outside">how to remove right border from this cell?</td>
</tr>
</table>
更新:這裏有截圖,從IE7在Vista上,IE8在WinXP和IE8 Win7上:
對不起忘了提..我不能使用僞類,因爲它沒有得到IE版本的廣泛支持 – Sowmya
我需要這種結構來支持IE7 +所以.. – Sowmya
是的我可以在第一行頂部白色邊框上添加類 – Sowmya