0

我有一些代码在 Chrome 中完全符合要求,但在 IE9 中没有。

我的目标是有一个网格单元格,它根据最大列宽剪辑它的文本,不换行文本并在工具提示中显示全文。在 Internet Explorer 中,单元格不会剪辑,而是在页面上延伸很远,导致需要滚动。

我使用的CSS是这样的:

.gridMaxWidth150
{
    max-width: 150px;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
}

网格视图列:

<asp:TemplateField 
    HeaderText="Comments" 
    ItemStyle-CssClass="gridMaxWidth150" 
    ItemStyle-Wrap="false" >
    <ItemTemplate>
        <asp:Label ID="lblComment" runat="server" 
            Text='<%# Bind("Comments") %>' 
            Tooltip='<%#: Bind("Comments") %>' />
    </ItemTemplate>
</asp:TemplateField>

如果可能的话,我想这样做而不在绑定时更改文本。我只是不明白为什么 IE 有问题。模式和标准是IE9。

编辑:根据Kinlan的帖子更改了css,仍然看到:

评论栏扩大

当“空白:nowrap”打开时,它似乎没有响应“最大宽度”。(如果我取消选中 nowrap 那么它会包裹文本并且宽度会缩小到 150px)

4

2 回答 2

1

text-overflow这与财产没有任何关系。只是 IE 似乎很难保持表格单元格的宽度。

一种解决方案是将标签包装在div表格单元格中的 a 中,并将样式应用于 div。

<ItemTemplate>
   <div class="gridMaxWidth150">
      <asp:Label ID="lblComment" runat="server" 
         Text='<%# Bind("Comments") %>' 
         Tooltip='<%#: Bind("Comments") %>' />
   </div>
</ItemTemplate>

看到这个小提琴(当然不是基于 ASP.NET,但它确实显示了问题所在)。

于 2013-06-11T14:50:54.487 回答
0

文档说这些值是:

text-overflow: ellipsis | clip

的值none不会应用任何剪辑。理论上你不应该需要溢出。

于 2013-06-11T12:52:59.033 回答