0

パネルをテーブルセル内に配置し、幅と高さのプロパティを100%に設定して、パネルがテーブルセルの100%のスペースを占めるようにしましたが、そうするとパネルが消えます。パネルの幅と高さのプロパティを100pxに設定した場合にのみ、表示されます。では、パネルを常にテーブルセルの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>

後でコントロールをセル内に配置したいので、セル内にパネルを配置しました。

4

3 に答える 3

0

TableCell style="empty-cells: show"、IE7、およびFFを配置すると、正しくレンダリングされますが、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で遊んで、ブラウザごとに正しいスタイルを設定してください。それはそれがどれほど疲れているかです。:/

于 2011-11-10T15:31:03.567 に答える
0

デフォルトはピクセルであるため、単位タイプを指定する必要があります(明らかに)。マークアップで指定する方法がわからないので、本当に役に立ちません。

この質問にも同様の問題があります: aspnet テーブル - TableCell 幅を指定しますか?

代わりに CSS を使用することをお勧めします。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.width.aspx#Y0

webControl.width = Unit.Percentage(100) が機能するはずですが、ASP を行っていないため、これをどこに置くかわかりません。

于 2011-11-10T13:46:21.463 に答える
0

これは、ブラウザの欠陥/最適化によるものだと思います。Web ページは正しい html にレンダリングされますが、ブラウザーがページをレンダリングすると、空の div がスキップ/削除されます。したがって、   のような div の 1 つにある種のコンテンツを挿入すると、ブラウザは div を正しくレンダリングします。

于 2011-11-10T13:47:06.460 に答える