2011-11-10 185 views
0

我把一個面板放在一個表格內,並將寬度和高度屬性設置爲100%以便面板佔用表格單元的100%空間,但是當我這樣做時,面板就會消失。 只有當我將面板寬度和高度屬性設置爲100px時,才顯示它。 那麼我如何設置面板始終佔用其所在表格的100%?爲什麼100%不適用於表格內的面板?

在這個例子中,面板不顯示:

<asp:Table runat="server" ID="mainTable" Width="100%" Height="100%" BorderColor="Red" BorderWidth="20px" BorderStyle="Solid"> 
    <asp:TableRow runat="server" ID="mainRow" Width="100%" Height="100%" BorderColor="Purple" BorderWidth="20px" BorderStyle="Solid"> 
     <asp:TableCell runat="server" ID="maincell" Width="30%" Height="100%" BorderColor="AliceBlue" BorderWidth="20px" BorderStyle="Solid"> 
      <asp:Panel runat="server" ID="mainpanel" Width="100%" Height="100%" BackColor="Gainsboro"></asp:Panel> 
     </asp:TableCell> 
     <asp:TableCell runat="server" ID="TableCell1" Width="30%" Height="100%" BorderColor="AliceBlue" BorderWidth="20px" BorderStyle="Solid"> 
      <asp:Panel runat="server" ID="Panel1" Width="100%" Height="100%" BackColor="Gainsboro"></asp:Panel> 
     </asp:TableCell> 
     <asp:TableCell runat="server" ID="TableCell2" Width="30%" Height="100%" BorderColor="AliceBlue" BorderWidth="20px" BorderStyle="Solid"> 
      <asp:Panel runat="server" ID="Panel2" Width="100%" Height="100%" BackColor="Gainsboro"></asp:Panel> 
     </asp:TableCell> 
    </asp:TableRow> 
</asp:table> 

我把一組中的細胞內,因爲我希望把控制裏面以後。

回答

0

我認爲這是由於瀏覽器中的缺陷/優化。網頁呈現爲正確的html,但是當瀏覽器呈現頁面時,它將跳過/刪除空的div。因此,如果您將某種內容插入其中一個div,例如& nbsp;瀏覽器將正確呈現div。

0

穿上TableCell的,IE7和FF style="empty-cells: show"正確呈現,但在IE9它確實需要的空間,但不是背景色各地

 <asp:TableCell runat="server" ID="maincell" Width="30%" Height="100%" BorderColor="AliceBlue" 
      BorderWidth="20px" BorderStyle="Solid" style="empty-cells: show"> 
      <asp:Panel runat="server" ID="mainpanel" Width="100%" Height="100%" BackColor="Gainsboro"> 
      </asp:Panel> 
     </asp:TableCell> 

發揮在CSS和設置正確的樣式爲每個瀏覽器。這是多麼令人疲勞。 :/

相關問題