<td> 溢出隐藏在IE中不起作用



我在TD中显示一些文本。我已经为td隐藏了溢出属性,此代码在Chrome,Safari,Mozilla中运行良好,但在IE中则不行。我用过-ms-但它也不起作用。

这是我用来创建表行的代码

strRowTd += "<tr><td height="20" style="-ms-display: block;" +
            "display: block;overflow:hidden;-ms-overflow:hidden;" " +
            "class="body_text_white_mid">" +
            "<strong>" + data[i + 1][4] + "</strong>";
strRowTd += "</td></tr>";

您遇到问题,因为"溢出"仅适用于块级元素。由于表元素不是块元素,因此您应该使用<div>包装器来获得效果。结果 Html 标记应如下所示:

<tr>
  <td class="body_text_white_mid">
    <div style="height:20px; overflow:hidden;">
      your data[i][j]
    </div>
  </td>
</tr>

如果您使用class而不是style会更好.还要使用 String.Format(markupRow, data[i][j]) 而不是字符串串联。

HTML表格支持"table-layout:fixed"CSS样式,该样式可防止用户代理根据其内容调整列宽。您可能想要使用它。

为了避免IE9出现问题,您需要使用

有关此样式的更多信息,请查看此处http://msdn.microsoft.com/en-us/library/ie/ms531161(v=vs.85).aspx

最新更新