下面的程式碼,是想在使用table-layout:fixed 後,本意是要讓單元格的寬度保持有效,在IE 中測試,寬度設定是無效的:
<table style="table-layout:fixed;width:200px" border="1" cellspacing="1" cellpadding="1"> <tr> <td style="width:100px">1</td> <td colspan="2">2</td> </tr> <tr> <td>1.1</td> <td style="width:80px">2.1</td> <td style="width:20px">2.2</td> </tr> </table>
下面給出解決方法,table-layout:fixed 樣式使用後,除第一行外,剩下的行中單元格的寬度,是按照第一行中的單元格寬度設定的,既然這樣,我們就設定一個隱藏的行來規定寬度:
<table style="table-layout:fixed;width:200px" border="1" cellspacing="1" cellpadding="1"> <tr style="display:none"> <td style="width:100px"></td> <td style="width:80px"></td> <td style="width:20px"></td> </tr> <tr> <td>1</td> <td colspan="2">2</td> </tr> <tr> <td>1.1</td> <td>2.1</td> <td>2.2</td> </tr> </table>
這個方法,在IE6,IE7,IE8中都可以正確地顯示,但在非IE中,是沒起作用的。下面給出另外一種方法:
<style> td{border:1px solid red;} </style> <table style="table-layout:fixed;width:200px" border="0" cellspacing="1" cellpadding="1"> <tr style="height:0;"> <th style="width:100px"></th> <th style="width:80px"></th> <th style="width:20px"></th> </tr> <tr> <td>1</td> <td colspan="2">2</td> </tr> <tr> <td>1.1</td> <td>2.1</td> <td>2.2</td> </tr> </table>
以上是CSS使用樣式table-layout:fixed後單元格寬度設定的解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!