分類  >  Web前端 >

table往外邊框實現「#」字效果

tags:    時間:2013-12-11 15:12:55
table去外邊框實現「#」字效果

表格中邊框的顯示

只顯示上邊框 <table frame=above>

只顯示下邊框 <table frame=below>

只顯示左、右邊框 <table frame=vsides>

只顯示上、下邊框 <table frame=hsides>

只顯示左邊框 <table frame=lhs>

只顯示右邊框 <table frame=rhs>

不顯示任何邊框 <table frame=void>

 

.表格的分隔線可以隱藏

<table border rules=cols cellspacing=0 align=left> 可以隱藏橫向的分隔線

<table border rules=rows cellspacing=0 align=right>可以隱藏縱向的分隔線

<table border rules=none cellspacing=0 align=center>可以隱藏橫向和縱向的分隔線

-------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<TABLE cellSpacing=0 cellPadding=0 width="90%" align=right border=1 rules=rows frame=hsides style="border-collapse:collapse ; " bordercolor="#000000" >

<TR>
<TD >sadad</TD>
<TD >sad</TD>
<TD>dsa</TD>
<TD>asd</TD>
</TR>
<TR>
<TD >ads</TD>
<TD>asd</TD>
<TD>ads</TD>
<TD>asds</TD>
</TR>

</TABLE>
</BODY>
</HTML>


table width=1 就已經把寬度設置為 1 了
我們面臨的問題是這樣的,每一個 td 邊線都是 1px,table 邊線也是 1px。那麼當兩個td相鄰的時候,因為每個 td 邊線都是1,所以靠進的時候邊線的「寬度和」就是 1+1=2。當 td 和 table 相鄰時,同樣。

collapse :  相鄰邊被合併
相鄰邊被合併!以前我說的 1+1=2 就是因為 td 和td之間,td 和table 之間相鄰邊的問題。默認時相鄰邊沒有合併,所以就是 1+1=2。現在我們使用 border-collapse:collapse把我們合併了,所以寬度還是 1px。也就是出現細線邊框了

 

 

設置Table的細邊框通常有這麼幾種方式:

1、設置邊框的BORDER=0 、cellspacing=1,設置Table的背景色為所要的邊框色,再設置所有的td背景色為白色,這樣細邊框就顯露出來了。這個方法有些邪氣,看似不太正宗,但是也能達到效果,條條大路通羅馬嘛!

再來看看第二種方法:

2、設置BORDER=0 ,再通過CSS,給Table加上1px的border-top,border-left,然後再設置所有的td的border-right,border-bottom,這樣也能達到所要的效果。可見CSS很是強大啊。

今天在實踐過程中發現,以上兩種方式生成的HTML在Word中打開則發生問題,不能達到預期效果。怎麼辦呢!?

下面介紹一種更為簡便有效的方法:

3、設置table的CSS為{border-collapse:collapse;border:none;},再設置td的CSS為{border:solid #000 1px;},大功告成!而且Word也能認出這種設置。

第三種方法最好,我也是在導出word時,很多css失效的情況下,找到了這個解決辦法!

推薦閱讀文章

Bookmark the permalink ,來源:互聯網