簡體   English   中英

為什么該表不能在Internet Explorer中正確顯示? 難道我做錯了什么?

[英]Why doesn't this table display correctly in Internet Explorer? Am I doing something wrong?

在Firefox / Chrome中,此表正確顯示

<table border="1" style="width: 400px; height: 400px">
        <tr>
            <td colspan="2" rowspan="3" style="height:300px">a</td>
            <td rowspan="2" style="height: 200px">b</td>
        </tr>
        <tr></tr>
        <tr>
            <td rowspan="2" style="height: 200px">c</td>
        </tr>
        <tr>
            <td style="height: 100px">d</td>
            <td style="height: 100px">e</td>
        </tr>
    </table>

這樣-單元格b和c分別為200px。

小提琴

但是在Internet Explorer 11中看起來像這樣-單元格b被A拉伸,單元格d和e被c拉伸

(不幸的是,我沒有足夠的聲譽積分來發布圖片)

我嘗試將固定大小的div放入其中,使用CSS而不是HTML等,但是沒有任何運氣。 艾米,我在這里想念一些簡單的東西嗎?

該表標記違反了HTML5 PR中描述的HTML表模型。 如果將<!doctype html><title>test</title>放在代碼之前,然后在http://validator.w3.org上對其進行測試,則會看到此錯誤–驗證程序報告錯誤“行組的第2行”由第二行只是<tr></tr> ,因此它沒有自己的單元格。 由於無效,因此沒有“正確的呈現”,實際上瀏覽器以不同的方式顯示表格。

解決方案取決於您使用table元素的目的。 如果它是表格數據,並且需要以表格的形式進行訪問,則需要重新分析數據並找到一種有效的HTML形式描述數據。 如果僅用於布局,請使用其他布局技術。 通常建議對所有內容都使用CSS,但是實際上您也可以使用表布局,只需要嵌套表即可。 例如,建立一個1×2的表,並將a,d和e放在第一個單元格內的簡單表中,將b和c放在第二個單元格內,並適當地設置尺寸。

你什么都沒丟失。 表只是在IE中呈現為不同。 我的建議是您使用不帶表的常規div,並使用CSS設置樣式。 表格不會在同一跨瀏覽器中呈現。

希望這對您有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM