为什么IE不遵守我的列宽?

时间:2012-09-11 16:19:04

标签: html internet-explorer internet-explorer-8

这让我疯狂地试图解决

代码:http://pastebin.com/rqyw35jG

首先,我正在以标准模式渲染。 我在IE中有一个表,宽度= 100%,表中的所有列都指定了宽度,但是最后一列。 IE的预期行为是调整最终列的大小,使其延伸到页面。这或多或少有效。然而;

某些情况似乎打破了桌面宽度并导致IE移动并调整桌面大小,但它很高兴。

  1. 该表包含跨所有列AND
  2. 合并的行
  3. 此合并行包含足够的文本以填充整个单元格
  4. 足够的文本输入其列中未指定宽度的单元格之一,导致文本换行。
  5. 当出现这3个条件时,所有列都会略微移动。文本仍然包装,除非您测量它们,否则通常不会注意到列的大小错误,或者将页面与没有包装文本的版本进行比较。

    这是否应该以标准模式发生?

    代码:

    <%@ Page Language="VB" %>
    <%@ Import Namespace="Microsoft.SharePoint.Client" %>
    <%@ Import namespace="System.Data" %> 
    <%@ Import Namespace="System.Data.SQLClient" %>
    
    <script runat="server">
        Protected Sub Page_Load(sender As Object, e As System.EventArgs)
    
        End Sub
    </script>
    
    <%
    
     %>
    
    <!DOCTYPE html />
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
    <table style="width:100%;">
        <tr>
            <td style="width:500px;">egqwgw gqgqwgqg qwgqgqg qgwgqgqg qwgqgg</td>
            <td style="width:500px;">gqgqwgqg gqwgqgqgq gqgqgqg qgg</td>
            <td>If too much text is entered into this column, the column sizes will begin to change. wehwehweh hwehwh whhwhwh hwehwhwh</td>
        </tr>
        <tr>
            <td>a gqwgqwg gqgqw </td><td>gqgqgqg gqgqg</td><td></td>
        </tr>
        <tr>
            <td colspan="3">Columns only move if text on this line is filling out the whole width of the page. gqwgqwggqg qgqgqwgqg qgqwgqgqg gqgwqgqg gqgqgqgqg qgqgqgqg gqgggqg 
                qgwgqgqg gqgqgqwgwg qgqwgqgqgq gqgwgwgqg gqgwgq gqwgwgqgqwg qgwgqgqgqwg 
                qwgqwgqgqg qgwgqgqqg gqwgqwgqwgwqg gqgwgqgwg qwgqwgqgqgq qwgqgqgqg gwqgqgqg 
                qggqwgqg qggwqgqg
            </td>
        </tr>
    </table>
    
    </body>
    </html>
    

1 个答案:

答案 0 :(得分:0)

你的doctype是错的,我不确定它是否将IE推入怪癖模式,但听起来就像它。删除空格和反斜杠:<!DOCTYPE html>

确保在doctype之前没有出现任何代码,因为这会导致IE陷入怪癖。

这是在现代浏览器中工作还是IE是唯一一个给你带来问题的?