2013-07-31 128 views
0

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版本寬度元素沒有屬性的風格。有沒有另外一種方法可以在沒有驗證問題的情況下編寫寬度?

+2

很久以前,'border'和'width'屬性已被棄用,以支持CSS。 –

+0

您必須表示驗證程序認爲'table'元素沒有屬性'width'。 (將來,請複製並粘貼錯誤消息。) –

+1

或者您必須表示完全不同的內容。該片段實際上是有效的XHTML 1.0 Strict。 –

回答

0

我建議將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> 
+0

無效的CSS。固定時(使用'1px'而不是'1'),僅在整個表格周圍創建邊框,而不是在單元格之間創建邊界,如'border = 1'所示。 –

+0

@ JukkaK.Korpela我想是的,但是爲了模仿棄用的'border = 1',他必須使用外部樣式表。我已經更新了我的答案。 – federicot

+0

外部樣式表通常是樣式設計的最佳方法,但它不是必需*。可以在'td'元素上使用'style'屬性,或者更合理地使用'style'元素。 –

0

使用CSS來定義widthborder

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%; 
} 
+0

或我可以做 數量 信息? – Fred

+0

@Fred是的,你可以;等待顯示給你 –

+0

@Fred我已更新回答 –

1

width屬性上table不是導致XHTML 1.0驗證問題。但是,如果您希望因其他原因擺脫它,則可以將其替換爲將width屬性設置爲值100%的CSS代碼。一種簡單的方法來做到這是由一個style屬性用合適的值來替換屬性:

<table border="1" style="width: 100%"> 

它是通常最好使用外部樣式表,或至少一個style元件,而不是style屬性,但是。

其他答案已經解決了替換border="1"屬性的問題,雖然沒有提出這個要求。它會稍微複雜一些,因爲該屬性也會影響單元格之間的邊界;看我的Mapping presentational HTML to CSS