2011-10-30 35 views
0

我的朋友和我在php上的html表標記上做了一些改進。PHP上的HTML表格

我們希望以php作爲引擎生成標籤,但每次添加結束標籤時,瀏覽器上的結果渲染都會破壞表格佈局,因爲它在最後添加了</td>。

問題

  1. 它可能有TD標記沒有結束標記?這是不是一個好的做法?
  2. 是否有任何解決方法,因爲當他沒有將 結尾爲td標籤時,螢火蟲實際上是顯示完整的td標籤。
+3

這可能嗎?可能......它是否有效取決於瀏覽器。我不會指望它在每個瀏覽器中的工作方式,也不會在每個瀏覽器中始終如一地工作。我不明白你的問題,提供解決方法的建議。你可以發佈一些示例HTML代碼,讓我更好理解? – Flimzy

+0

瀏覽器將嘗試修復不良的HTML - 因此不包括td標籤可能會「工作」,但僅僅是因爲瀏覽器正試圖解決您的錯誤。發佈你的PHP以及破碎的HTML以及'break'的定義,並且有人可以幫助你。 – mrtsherman

回答

0

省略</td>標記是完全有效的。

在HTML4中,DTD說:

<!ELEMENT (TH|TD) - O (%flow;)*  -- table header cell, table data cell--> 

(該O意味着標籤是可選的)

在HTML5中,所述spec

甲TD元素的如果td元素立即爲,則可以省略結束標籤後跟td或th元素,或者如果 父元素中沒有更多內容。

如果剩餘的標記是有效的,那麼瀏覽器解析器將在適當的位置正確地推斷出結束標記。

因此,如果添加關閉標籤正在破壞您的表格,那麼您確實在做其他事情是錯誤的。如果您發佈您的標記,我們可以指導您解決問題,否則我建議您生成您的網頁validate

+0

非常感謝。這是非常讚賞。 –