0

Visual Studio に付属の Web アプリケーション テンプレートを使用しています。メイン コンテンツを他の 2 つのコンテンツ プレース ホルダーに分割する入れ子になったマスター ページを追加しました。どちらも、幅を制御するために css スタイルが適用された div でラップされています。1 つは、このネストされたマスター ページから継承する各ページのメイン コンテンツ領域として使用され、もう 1 つのコンテンツ プレース ホルダーは、左から右に展開および折りたたむことができるサイド パネルとして使用されます。このサイド パネルは、ほとんどのページで永続的に表示されます。そのため、コンテンツ プレース ホルダー内にあり、それを必要としないページでカスタム コンテンツを作成し、空白のままにするか、他のデータを使用することができます。この機能は ajax の折りたたみ可能なパネル エクステンダで実現されていますが、メイン コンテンツ領域のサイズは幅が固定されています。私の CSS では、メイン コンテンツ領域に max-width と min-width を設定しましたが、min-width にしか設定されません。css のドキュメントを読んで、min-width プロパティが max-width および width プロパティをオーバーライドすることを発見しました。私の質問は、サイド パネルが折りたたまれたときにメイン コンテンツ領域の幅が 95% になり、サイド パネルが展開されたときに幅が 75% になるようにするにはどうすればよいですか? 考えられる限り多くの関連情報を含めようとしましたが、さらに必要な場合は喜んで提供します。私の質問は、サイド パネルが折りたたまれたときにメイン コンテンツ領域の幅が 95% になり、サイド パネルが展開されたときに幅が 75% になるようにするにはどうすればよいですか? 考えられる限り多くの関連情報を含めようとしましたが、さらに必要な場合は喜んで提供します。私の質問は、サイド パネルが折りたたまれたときにメイン コンテンツ領域の幅が 95% になり、サイド パネルが展開されたときに幅が 75% になるようにするにはどうすればよいですか? 考えられる限り多くの関連情報を含めようとしましたが、さらに必要な場合は喜んで提供します。

ネストされたマスター ページからの関連するマークアップ

<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
<div style="width: 100%; height: 100%;">
    <div class="leftSidePanel">
    <asp:ContentPlaceHolder ID="LeftSidePanelContent" runat="server">        
        <asp:Panel ID="Panel2" runat="server" CssClass="collapseLeftSidePanelHeader" >
            <div style="padding: 5px; cursor: pointer; vertical-align: middle;">
                <asp:ImageButton ID="Image1" runat="server" ImageUrl="~/Images/CollapsiblePanel/expand_blue.jpg" AlternateText="(Show Details...)" />
            </div>
        </asp:Panel>
        <asp:Panel ID="Panel1" runat="server" CssClass="collapseLeftSidePanel" >
            <br />

            <asp:Label ID="Label1" runat="server" Text="MY PANEL"></asp:Label>
            </asp:Panel>
            <ajax:collapsiblepanelextender ID="cpeLeftSidePanel" runat="Server"
                ExpandedSize="250"
                CollapsedSize="0"
                ExpandDirection="Horizontal"
                TargetControlID="Panel1"
                ExpandControlID="Panel2"
                CollapseControlID="Panel2"
                Collapsed="True"
                TextLabelID="Label1"
                ImageControlID="Image1"
                ExpandedImage="~/Images/CollapsiblePanel/collapse_blue.jpg"
                CollapsedImage="~/Images/CollapsiblePanel/expand_blue.jpg"
                SuppressPostBack="true" />
    </asp:ContentPlaceHolder>
    </div>
    <div class="mainPanel">
        <asp:ContentPlaceHolder ID="MainPanelContent" runat="server">
        </asp:ContentPlaceHolder>
    </div>
</div>

関連する css: 折りたたみパネルの幅は、折りたたみ可能なパネル エクステンダーで設定されます。

.main
{
    padding: 0em 1em;
    margin: 1em;
    width: 100%;
    min-height: 420px;
    border: thin solid black;
}

.mainPanel{
    max-width: 90%;
    min-width: 75%;
    height: 100%;
    float:right;
    border: thin solid green;
}

.leftSidePanel{
    min-width: 0;
    max-width: 20%;
    height: 100%;
    float: left;
    border: thin solid blue;
}


.collapseLeftSidePanelHeader{
    width:30px;
    height:100%;
    background-repeat:repeat-y;
    background-color: AliceBlue;
    font-weight:bold;
    float: right;
}

.collapseLeftSidePanel {
    background-color:black;
    overflow:hidden;
    width:0;
    height: 100%;
}
4

1 に答える 1