HTML:HTML無效驗證
<table border="1" width="100%">
<tr>
<th style= "width: 10%"> Quantity </th>
<th style= "width: 47%"> Info </th>
</tr>
</table>
我試着用XHTML 1.0嚴格的驗證,但它告訴我,有對該HTML版本寬度元素沒有屬性的風格。有沒有另外一種方法可以在沒有驗證問題的情況下編寫寬度?
HTML:HTML無效驗證
<table border="1" width="100%">
<tr>
<th style= "width: 10%"> Quantity </th>
<th style= "width: 47%"> Info </th>
</tr>
</table>
我試着用XHTML 1.0嚴格的驗證,但它告訴我,有對該HTML版本寬度元素沒有屬性的風格。有沒有另外一種方法可以在沒有驗證問題的情況下編寫寬度?
我建議將id
分配給table,然後在外部CSS樣式表中設置樣式。但是,這應該足以驗證:
<table style="border: 1px solid black; width: 100%;">
<tr style="border: 1px solid black;">
<th style="width: 10%; border: 1px solid black;"> Quantity </th>
<th style="width: 47%; border: 1px solid black;"> Info </th>
</tr>
</table>
無效的CSS。固定時(使用'1px'而不是'1'),僅在整個表格周圍創建邊框,而不是在單元格之間創建邊界,如'border = 1'所示。 –
@ JukkaK.Korpela我想是的,但是爲了模仿棄用的'border = 1',他必須使用外部樣式表。我已經更新了我的答案。 – federicot
外部樣式表通常是樣式設計的最佳方法,但它不是必需*。可以在'td'元素上使用'style'屬性,或者更合理地使用'style'元素。 –
使用CSS來定義width
和border
:
HTML:
<table>
<tr>
<th class="q"> Quantity </th>
<th class="i"> Info </th>
</tr>
</table>
CSS:
table{
width:100%;
border: 1px solid magenta;
}
.q{
width: 10%;
}
.i{
width: 47%;
}
的width
屬性上table
不是導致XHTML 1.0驗證問題。但是,如果您希望因其他原因擺脫它,則可以將其替換爲將width
屬性設置爲值100%
的CSS代碼。一種簡單的方法來做到這是由一個style
屬性用合適的值來替換屬性:
<table border="1" style="width: 100%">
它是通常最好使用外部樣式表,或至少一個style
元件,而不是style
屬性,但是。
其他答案已經解決了替換border="1"
屬性的問題,雖然沒有提出這個要求。它會稍微複雜一些,因爲該屬性也會影響單元格之間的邊界;看我的Mapping presentational HTML to CSS。
很久以前,'border'和'width'屬性已被棄用,以支持CSS。 –
您必須表示驗證程序認爲'table'元素沒有屬性'width'。 (將來,請複製並粘貼錯誤消息。) –
或者您必須表示完全不同的內容。該片段實際上是有效的XHTML 1.0 Strict。 –