-2

这一直让我疯狂地试图解决

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

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

某些情况似乎会破坏表格宽度并导致 IE 随意调整表格大小。

  1. 该表包含一个跨所有列合并的行和
  2. 此合并行包含足够的文本以填充整个单元格和
  3. 足够的文本被输入到其列具有未指定宽度的单元格之一中,导致文本换行。

当这 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>
4

1 回答 1

0

您的文档类型错误,我不确定它是否将 IE 置于怪癖模式,但听起来像。删除空格和反斜杠:<!DOCTYPE html>

确保在 doctype 之前也没有显示任何代码,因为这会使 IE 陷入怪癖。

这是否适用于现代浏览器,还是 IE 是唯一给您带来问题的浏览器?

于 2012-09-12T03:37:05.930 回答