溢出:隐藏使得数据在IE中消失

时间:2013-02-19 13:31:42

标签: asp.net html css

我遇到了IE的问题。该页面适用于所有浏览器,如下所示。

enter image description here

但是在IE中,数据即使在那里也没有出现。

enter image description here

问题是由我在ListView的项模板上使用的overflow:hidden属性引起的。当我将其更改为任何其他值时,数据会显示在IE中,但当然布局会在所有浏览器中混乱。

以下是源代码和CSS http://jsfiddle.net/V5aCa/8/

这是我的代码:

<asp:ListView ID="BookListView" runat="server" DataSourceID="SqlDataSource1" 
    onselectedindexchanged="BookListView_SelectedIndexChanged">
    <LayoutTemplate>
        <table runat="server" cellpadding="1" id="tblBooks" style="">
          <tr runat="server">
              <td runat="server">
                  <table ID="itemPlaceholderContainer" runat="server" border="0" style="">
                      <tr ID="itemPlaceholder" runat="server">
                      </tr>
                  </table>
              </td>
          </tr>
        </table>
    </LayoutTemplate>

    <ItemTemplate>
         <div style="overflow:hidden">
            <div class="itemTemplateleftColumn">
                <asp:Image ID="Image1" runat="server" ImageUrl='<%# String.Format("~\\Static\\Images\\BookCovers\\{0}", Eval("CoverImageSmall")) %>' Height="120px" Width="90px" BorderColor="Gray" BorderWidth="1px"/>
            </div>
            <div class="itemTemplaterightColumn">
                <div class="titleRow">
                    <asp:Label runat="server" ID="BookTitleLabel" Text='<%# Eval("Title") %>' />
                </div>
                <div class="nameRow">
                    <asp:Label runat="server" ID="FirstNameLabel" Text='<%# Eval("FirstName") %>' />
                    <asp:Label runat="server" ID="LastNameLabel" Text='<%# Eval("LastName") %>' />
                </div>
                <div class="values">
                     <div>
                        value1
                     </div>
                     <div>
                        value2
                     </div>
                </div>    
                <div class="values">
                    <div>
                        value3
                    </div>
                    <div>
                        <asp:Label runat="server" ID="PriceLabel" Text='<%# Eval("Price") %>' />&#8364
                    </div>
                </div>    
            </div>
        </div>
    </ItemTemplate>

</asp:ListView>

</asp:Content>

感谢您解决此问题的任何帮助。提前致谢。

2 个答案:

答案 0 :(得分:0)

[更新]首先,应用css类或id以避免内联样式。

然后,尝试编写overflow:hidden !important以阻止IE应用该规则,这应该可以解决问题!

.your-div-class{
  overflow:visible; /* This is default value, but reset it anyway */
  overflow:hidden !important;
}

答案 1 :(得分:0)

在Gridview中为该div应用最小高度和宽度,然后应用溢出 最小高度:110px;最小宽度:150px;

试试这个希望它会有所帮助!