2009-11-14 71 views
1

我想在IE8兼容模式下顯示名稱/值對的表格單元格,如下圖所示在IE8兼容模式下(輪廓線 - DIV爲紅色,SPAN爲綠色,TD爲橙色)。在IE8兼容模式下的CSS Quirk

alt text http://heeroz.com/outlined.png

標記和CSS:

<td width="40%"> 
    <div class="info_row"> 
     <asp:Label ID="lblWSPONumber" runat="server" Text="WS PO Number" 
       CssClass="edit_control_label"></asp:Label> 
     <asp:Label ID="tbWSPONumber" runat="server"/> 
    </div> 
    <div class="info_row"> 
     <asp:Label ID="lblCustomerPONumber" runat="server" 
      Text="Customer PO Number" CssClass="edit_control_label"></asp:Label> 
     <asp:Label ID="tbCustomerPONumber" runat="server" /> 
    </div> 
    <div class="info_row"> 
     <asp:Label ID="lblBulkOrderDate" runat="server" Text="WS PO Date" 
      CssClass="edit_control_label"></asp:Label> 
     <asp:Label ID="tbBulkOrderDate" runat="server" /> 
    </div> 
    <div class="info_row"> 
     <asp:Label ID="lblSHOrderDate" runat="server" Text="SH PO Date" 
      CssClass="edit_control_label"></asp:Label> 
     <asp:Label ID="tbSHOrderDate" runat="server" /> 
    </div> 
</td> 

.info_row 
{ 
    margin: 0px 0px 0px 0px !important; 
    float: left; 
    clear: left; 
} 
.edit_control_label 
{ 
    width: 150px; 
    float: left; 
    display: inline-block; 
    margin-right:15px; 
    margin-top:3px; 
} 

這工作得很好,並預期在IE8和FF。看起來在IE7中,第一個DIV中的所有DIV都不是150像素寬,但只能擴展到第一個DIV中第二個SPAN的開頭。然後將塊中的第二個元素包裹在藍色文本下面。這是什麼造成的?

回答

1

嘗試爲第二個<asp:Label>添加另一個CSS類,並設置其寬度以及設置寬度以適應總頁邊距和兩個asp:Labels(span標籤)大小。

+0

寬度:100%;對.info_row做了竅門 – cdonner 2009-11-14 05:31:52

1

主要問題是您需要爲元素聲明寬度,否則IE會哭血腥謀殺。 如果你只想在你的宣言前申請寬度IE 7和更低把「#」,就像這樣:

#width: 150px; 

而且,我會,如果在任何版本的IE正確對齊除8驚訝。

你可以與浮動同樣的效果:

text-align:left; 
display:inline; 

希望這有助於 大衛。

1

這是表格數據。有一個專門用於顯示錶格數據的整套標籤集,它很快捷,簡單,靈活且功能強大。不幸的是,由於表格數據的顯示以外的問題,這個標籤集似乎已經失寵。這是一個恥辱 - 表格真的是顯示錶格數據的最佳方式。

+0

同意,但沒有回答我的問題。 – cdonner 2011-03-25 04:11:50