2010-07-29 22 views
1

我正在使用嵌套在表中恰巧有border-collapse:collapse;屬性的表。問題出在嵌套表的padding屬性上,Opera似乎忽略了這個屬性。由Opera忽略嵌套表的CSS填充

將其降低到最簡單的可能,與下面的HTML代碼...:

<table style="border-collapse:collapse;"> 
    <tr> 
     <td> 
      <table style="padding:3em;"> 
       <tr><td>ABCDE</td></tr> 
      </table> 
     </td> 
    </tr> 
</table> 

...的padding屬性被忽略歌劇,而火狐,Chrome和Safari考慮到這一點在渲染。

我的問題是:哪一個是對的?我應該這樣離開它,忽略Opera用戶,或者搜索另一種方式來設置我的填充,因爲Opera在語法上是正確的嗎?

回答

0

在你的情況下,我只是把填充在包含<TD>。如果你想把它放在桌面上並忽略Opera用戶,你並沒有疏遠大部分網絡用戶,儘管有些人無疑會被激怒。

+0

謝謝你的回答。 問題是,我無法更改包含的代碼:我試圖對嵌套表進行編碼,以便在與「border-collapse:collapse;」一起包含在表中時正確顯示它。屬性。我知道Opera用戶沒有那麼多,但是這個Opera只有不正確的顯示讓我感到困擾,因爲我認爲Opera是最符合標準的瀏覽器:因此我想知道這不是一個編碼錯誤,而不是錯誤的顯示通過Opera ... 我的問題仍然是:哪個瀏覽器是正確的?這個代碼應該顯示什麼* – Socce 2010-07-29 20:49:39

+0

就我個人而言,我從來沒有把填充放在桌子上。您可以嘗試用邊距替代填充。關鍵是,CSS規格可以解釋,不同的瀏覽器可以做不同的事情。歌劇不是錯的,其他人只是不同。 – Robusto 2010-07-30 03:16:36

+0

如果我理解正確,沒有定義這個HTML代碼的「正確」呈現,Opera可能有理由相信「border-collapse:collapse」。屬性應該使嵌套表的填充無效(以及它可能是一個錯誤)。因此,如果我想通過不同的瀏覽器確保渲染是相同的,我應該使用不同的,不太模糊的CSS描述。那麼,如果我說得對,謝謝你的解釋! – Socce 2010-08-01 17:21:38