2009-10-06 50 views
6

我想問一下什麼是指定HTML列寬的更好方法?寬度屬性還是樣式屬性?假設我正在使用IE 6. IE是否比樣式更好地呈現width屬性?哪種方式更好的指定HTML固定列寬(寬度或樣式屬性)

通過width屬性

<table width="900"> 
    <tr> 
     <td width="450">A</td> 
     <td colspan="2" width="450">B&C</td> 
    </tr> 
    .... 
</table> 

或按樣式屬性

<table style="width:900px;"> 
    <tr> 
     <td style="width: 450px;">A</td> 
     <td colspan="2" style="width: 450px;">B&C</td> 
    </tr> 
    .... 
</table> 

回答

14

首先,我纔回答你的問題,你應該知道的是表的方式呈現,實驗與表格的佈局定式對於表格元素:

如果瀏覽器知道第一個表格行列的寬度(如果您在表格上提供表格佈局固定樣式),甚至在計算任何結果行的寬度之前,瀏覽器可以開始渲染表格的頂部。這是什麼意思?在完整的ajax調用完成之前,由具有固定佈局的Ajax調用填充的表可以開始向用戶顯示結果。最好的辦法就是像漸進式的JPG。最後你的頁面顯示加載速度更快。

table 
{ 
table-layout:fixed; 
} 

現在回答你的問題。

其實你提供的例子都是正確的。您通常不會在跨越兩個或更多個單元格的單元格中設置寬度。在任何表格中,創建至少1行所有單元格都是一個好主意,這可以在TH中或(我只是喜歡在空白tr中完成)。

例如...

<table> 
<tr> 
<td width="450"></td> 
<td width="225"></td> 
<td width="225"></td> 
</tr> 
<tr> 
<td>content here</td> 
<td colspan="2">content here</td> 
</tr> 
</table> 

曾經這樣你決定要使用樣式或只是標準的HTML寬度是什麼,是你的選擇,但最終,你應該有你的第一行(如果表格佈局是固定的),或者行(如表佈局不是固定的)來包含每個不同細胞的寬度定義,這也將幫助您規劃正確的外觀表格,希望這有助於您。通過創建一個像10000行的大表,並測試渲染速度與非固定表格佈局。

關於HTML 4與XHTML,風格與屬性的整個爭論我認爲是一個真正的可維護性問題。我認爲使用Style或HTML 4的過渡設置寬度沒有什麼問題,但它們都做同樣的事情。你們之所以能做到這一點,是因爲HTML已經發展了一點,是的,它會變得凌亂!祝你好運

+0

嘿,謝謝!我不知道桌面佈局的問題:固定的。 – 2010-02-25 10:02:00

3

只需在<td>內添加<div>標籤或<th>定義<div>的寬度。這會幫助你。沒有別的工作。

例如。

<td><div style="width: 50px" >...............</div></td> 
+1

嗨,歡迎來到我們的網站。請不要用接受的答案來垃圾回答舊的問題,例如^^^和[this](http://stackoverflow.com/a/10474800/419)。如果你這樣做,那麼有可能這兩個問題都是重複的,所以這樣標記。在這些情況下,問題很快就解決了,所以除非你有什麼新的東西要添加,否則我建議打出新的和未解決的問題。謝謝。 – Kev 2012-05-06 22:46:57