網頁中多個table嵌套的一些小技巧


1、以前經常用到的一個表格邊框樣式技巧(把表格的背景色設為黑色或其它顏色,然后又把單元格設為白色或其它的網頁背景色),如下圖:

圖一 1px的表格(顏色可自己選)

代碼如下:

 1 <table width="600" border="0" cellpadding="0" cellspacing="1" bgcolor="#FF0000">
 2   <tr>
 3     <td width="200" bgcolor="#FFFFFF">&nbsp;</td>
 4     <td width="200" bgcolor="#FFFFFF">&nbsp;</td>
 5     <td bgcolor="#FFFFFF">&nbsp;</td>
 6   </tr>
 7   <tr>
 8     <td bgcolor="#FFFFFF">&nbsp;</td>
 9     <td bgcolor="#FFFFFF">&nbsp;</td>
10     <td bgcolor="#FFFFFF">&nbsp;</td>
11   </tr>
12   <tr>
13     <td bgcolor="#FFFFFF">&nbsp;</td>
14     <td bgcolor="#FFFFFF">&nbsp;</td>
15     <td bgcolor="#FFFFFF">&nbsp;</td>
16   </tr>
17 </table>

說明:

“cellpacing='1'”,這個是設邊框的象素。
“bgcolor='#FF0000'”,這個是設“邊框”的顏色。

“<td bgcolor='#FFFFFF'>”,這個是設單元格的背景色,這個要跟表格所在的位置的背色一致,如果是不規則圖片,這個就不好使了。

 

2、有的地方,可能需要用表格嵌來嵌去,如果仍用以上的方法,效果可能會像下面這幅圖那樣,也不好看。

圖二 兩個1px的表格嵌套效果

看到吧,兩個三行三列的表格嵌在一起了,它們的銜接處灰常不好看,那有什么辦法呢?思路很簡單,但卻試了好久也試不出這種1px的表格的CSS樣式,退而求其次,對於border=1的表格倒是解決了。這里,要用到下面表格的一個屬性,注意紅字部分。

描述
void 不顯示外側邊框。
above 顯示上部的外側邊框。
below 顯示下部的外側邊框。
hsides 顯示上部和下部的外側邊框。
vsides 顯示左邊和右邊的外側邊框。
lhs 顯示左邊的外側邊框。
rhs 顯示右邊的外側邊框。
box 在所有四個邊上顯示外側邊框。
border 在所有四個邊上顯示外側邊框。

frame="void",它這個可以解決了兩個表格嵌套之間邊框疊加的煩惱,好了,廢話不多說,直接切入主題,先看效果對比:

 圖三 兩個border=1的普通表格嵌套

 

圖四 最里面表格加入frame=void后的效果 

源代碼:

 1 <table width="600" border="1" cellspacing="0" cellpadding="0">
 2   <tr>
 3     <td width="200">&nbsp;</td>
 4     <td width="200">&nbsp;</td>
 5     <td width="200">&nbsp;</td>
 6   </tr>
 7   <tr>
 8     <td>&nbsp;</td>
 9     <td><table frame="void" width="200" border="1" cellspacing="0" cellpadding="0">
10       <tr>
11         <td>&nbsp;</td>
12         <td>&nbsp;</td>
13         <td>&nbsp;</td>
14       </tr>
15       <tr>
16         <td>&nbsp;</td>
17         <td>&nbsp;</td>
18         <td>&nbsp;</td>
19       </tr>
20       <tr>
21         <td>&nbsp;</td>
22         <td>&nbsp;</td>
23         <td>&nbsp;</td>
24       </tr>
25     </table></td>
26     <td>&nbsp;</td>
27   </tr>
28   <tr>
29     <td>&nbsp;</td>
30     <td>&nbsp;</td>
31     <td>&nbsp;</td>
32   </tr>
33 </table>

另外,如果表格多了起來,比如像下面這幅圖這樣:

  圖五 多個2層表格嵌套

可以這樣寫,源碼:

  1 <style type="text/css">
  2 .seasons1987 table {
  3     border-top-width: 0px;
  4     border-right-width: 0px;
  5     border-bottom-width: 0px;
  6     border-left-width: 0px;
  7 }
  8 </style>
  9 <table width="600" border="1" cellpadding="0" cellspacing="0" class="seasons1987">
 10   <tr>
 11     <td width="200"><table width="200" border="1" cellspacing="0" cellpadding="0">
 12       <tr>
 13         <td>&nbsp;</td>
 14         <td>&nbsp;</td>
 15         <td>&nbsp;</td>
 16       </tr>
 17       <tr>
 18         <td>&nbsp;</td>
 19         <td>&nbsp;</td>
 20         <td>&nbsp;</td>
 21       </tr>
 22       <tr>
 23         <td>&nbsp;</td>
 24         <td>&nbsp;</td>
 25         <td>&nbsp;</td>
 26       </tr>
 27     </table></td>
 28     <td width="200">&nbsp;</td>
 29     <td width="200"><table width="200" border="1" cellspacing="0" cellpadding="0">
 30       <tr>
 31         <td>&nbsp;</td>
 32         <td>&nbsp;</td>
 33         <td>&nbsp;</td>
 34       </tr>
 35       <tr>
 36         <td>&nbsp;</td>
 37         <td>&nbsp;</td>
 38         <td>&nbsp;</td>
 39       </tr>
 40       <tr>
 41         <td>&nbsp;</td>
 42         <td>&nbsp;</td>
 43         <td>&nbsp;</td>
 44       </tr>
 45     </table></td>
 46   </tr>
 47   <tr>
 48     <td>&nbsp;</td>
 49     <td><table width="200" border="1" cellspacing="0" cellpadding="0">
 50       <tr>
 51         <td>&nbsp;</td>
 52         <td>&nbsp;</td>
 53         <td>&nbsp;</td>
 54       </tr>
 55       <tr>
 56         <td>&nbsp;</td>
 57         <td>&nbsp;</td>
 58         <td>&nbsp;</td>
 59       </tr>
 60       <tr>
 61         <td>&nbsp;</td>
 62         <td>&nbsp;</td>
 63         <td>&nbsp;</td>
 64       </tr>
 65     </table></td>
 66     <td>&nbsp;</td>
 67   </tr>
 68   <tr>
 69     <td><table width="200" border="1" cellspacing="0" cellpadding="0">
 70       <tr>
 71         <td>&nbsp;</td>
 72         <td>&nbsp;</td>
 73         <td>&nbsp;</td>
 74       </tr>
 75       <tr>
 76         <td>&nbsp;</td>
 77         <td>&nbsp;</td>
 78         <td>&nbsp;</td>
 79       </tr>
 80       <tr>
 81         <td>&nbsp;</td>
 82         <td>&nbsp;</td>
 83         <td>&nbsp;</td>
 84       </tr>
 85     </table></td>
 86     <td>&nbsp;</td>
 87     <td><table width="200" border="1" cellspacing="0" cellpadding="0">
 88       <tr>
 89         <td>&nbsp;</td>
 90         <td>&nbsp;</td>
 91         <td>&nbsp;</td>
 92       </tr>
 93       <tr>
 94         <td>&nbsp;</td>
 95         <td>&nbsp;</td>
 96         <td>&nbsp;</td>
 97       </tr>
 98       <tr>
 99         <td>&nbsp;</td>
100         <td>&nbsp;</td>
101         <td>&nbsp;</td>
102       </tr>
103     </table></td>
104   </tr>
105 </table>

這樣,所有嵌套在class=seasons1987的表格中的表格外邊框都會自動隱藏起來了,挺方便的。

希望有什么好的技巧的朋友能夠分享一下自己的經驗,謝謝了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM