1

次の方法でページを整列させる必要があります。

整列したページ

My Left Navigation にはすべてのリンクが含まれています。右側の div には、一定の高さを持つ上部の div があります。左のナビゲーション リンクをクリックすると、目次ページに目次が表示されます。このコンテンツ ページは、残りの高さを占める必要があります。

次のコードは私が試したものです。

CSS:

body, html {
    height: 100%;
    widht: 100%;
    padding: 0;
    margin: 0;
}

.leftMenu {
    float: left;
    width: 20%;
    height: 100%;
    background: gray;
    position: absolute;
}

.rightMenu {
    width: 80%;
    height: 100%;
}

.row1 {
    height: 10%;
    background: red;
}

.row2 {
    height: 90%;
    background: green;
}

JSP ページ:

<body>

    <div id="mainDiv">
        <div id="leftDiv" class="leftMenu">
            <ul>
                <li id="page1"> Page - 1 </li>
                <li id="page2"> Page - 2 </li>
                <li id="page3"> Page - 3 </li>
            </ul>
        </div>

        <div id="contentDiv" class="rightMenu">

            <div id="topDiv" class="row1">
                <label>Servlet and Jsp Examples</label> <br>
            </div>

            <div id="ContentDiv" class="row2">
                <label>Content 1</label> <br>
                <label>Content 2</label> <br>
                <label>Content 3</label> <br>
                <label>Content 4</label> <br>
            </div>
        </div>

    </div>

</body>

問題は、右の div が左の div の下にあり、内容の div が下部の残りのスペースを占めていないことです。

jsFiddleも見てください。

4

1 に答える 1

1

これはあなたが探しているものですか?

CSS:

#mainDiv { height: 100%; }

.leftMenu {
    width: 20%;
    height: 100%;
    background: gray;
    position: fixed;  /* <-- fix the left panel to prevent from scrolling */
}

.rightMenu {
    height: 100%;
    margin-left: 20%; /* <-- pull out the right panel from under the left one */
}

.row1 {
    min-height: 10%; /* <-- fix the height issue when content grows */
    background: red;
}

.row2 {
    min-height: 90%; /* <-- fix the background-color issue when content grows */
    background: green;
}

JSFiddleデモ

于 2013-08-25T09:58:59.273 に答える