5

私は2つのパネルを持っています。私はそれらを並べて見せたいのですが、そうではありません。

.aspx:

<asp:Panel ID="treeviewMenu" Width="20%" Height="500" runat="server" ScrollBars="Both" HorizontalAlign="Left">
    <asp:TreeView ID="treeview" runat="server" ShowLines="True" ImageSet="XPFileExplorer" OnSelectedNodeChanged="treeview_SelectedNodeChanged">
    </asp:TreeView>
</asp:Panel>

<asp:Panel ID="qvObjektMenu" Width="75%" Height="500" runat="server"  HorizontalAlign="Right">
    <asp:Table runat="server" HorizontalAlign="Right">
        <asp:TableRow>
            <asp:TableCell>
                <asp:Label runat="server">
                    QVObjekt Id:
                </asp:Label>
            </asp:TableCell>
            <asp:TableCell>
                <asp:Label ID="qvObjektId" runat="server"></asp:Label>
            </asp:TableCell>
        </asp:TableRow>
    </asp:Table>
</asp:Panel>

この2つの要素の外側にテーブルを使用し、それらの周りに別のパネルを使用しましたが、何も機能しません。どうすればこれを解決できますか?

4

2 に答える 2

10

ここでの答えは CSS です。CSS でそれを行う方法には、いくつかのオプションがあります。

オプション1:display:inline-block;

その css の 1 つのオプションは、次を使用することdisplay: inline-block;です。

<style type="text/css">
   .inlineBlock { display: inline-block; }
</style>

<asp:Panel ...>タグでそれを設定することと相まって:

<asp:Panel ID="treeviewMenu" ... CssClass="inlineBlock">
    ...
</asp:Panel>

<asp:Panel ID="qvObjektMenu" ... CssClass="inlineBlock">
    ...
</asp:Panel>

オプション 2a:float:left;

Wimの回答で述べたように、別のオプションはフロートを使用することです。しかし、両方のパネルを組み合わせてフロートを持たせたいとは思いません。どちらか一方だけが必要だと思います。また:

<style type="text/css">
.floatLeft { float: left; }
</style>

<asp:Panel ID="treeviewMenu" ... CssClass="floatLeft">
    <asp:TreeView ID="treeview" runat="server" ShowLines="True" ImageSet="XPFileExplorer" >
    </asp:TreeView>
</asp:Panel>

(現在マークアップにある他のパネルを使用)

また

オプション 2b:float:right;

<style type="text/css">
.floatRight { float: right; }
</style>

 <asp:Panel ID="qvObjektMenu" ... CssClass="floatRight">
    ...
</asp:Panel>
于 2013-05-14T13:33:04.463 に答える