0

コンテナーと 2 つの列を含むページがあります。私の構造はこれに見えます

<div id="page">
    <div id="left"></div>
    <div id="right"></div>
</div>

ここにCSSがあります

#page {
    min-height: 100%;
    height: 100%;
    width: 90%;
    font-size: 100%;
    margin: 0 auto 0 auto;
    padding: 0;
    font-size: 1em;
    position: relative;
}

#left {
    background-image: url("../images/layout/background.png");
    width: 198px;
    min-height: 100%;
    float: left;
}

#right {
    margin-left: 230px;
    min-height: 100%;
    background-color: #FFFFFF;
    border: 1px solid red;
    padding: 150px 20px 0px 20px;
    text-align: justify;
}

現時点では、前のコードでは#page要素が下に伸びず、#left. からパディングを削除し、#right高さが#page#left等しい場合#right

これを解決するにはどうすればよいですか?

4

1 に答える 1

0

したがって、それを処理するにはいくつかの方法があります。背景が異なる 2 つの列だけをコンテナーの下部に到達させたい場合は、垂直方向に繰り返される背景画像または css3 グラデーションを使用できます。ここに例を設定します:

http://jsfiddle.net/29wBn/1/

#page 要素のグラデーションの背景に注意してください

#page {
    background: -moz-linear-gradient(left, #b2f8ff 0%, #b2f8ff 50%, #9effaf 50%, #9effaf 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,#b2f8ff), color-stop(50%,#b2f8ff), color-stop(50%,#9effaf), color-stop(100%,#9effaf)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(left, #b2f8ff 0%,#b2f8ff 50%,#9effaf 50%,#9effaf 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(left, #b2f8ff 0%,#b2f8ff 50%,#9effaf 50%,#9effaf 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(left, #b2f8ff 0%,#b2f8ff 50%,#9effaf 50%,#9effaf 100%); /* IE10+ */
    background: linear-gradient(to right, #b2f8ff 0%,#b2f8ff 50%,#9effaf 50%,#9effaf 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b2f8ff', endColorstr='#9effaf',GradientType=1 ); /* IE6-9 */
    overflow:hidden; /* make the container wrap the floated contents */
}

フォールバックとして、#page 要素には左側の列の色が割り当てられ、右側の列には独自の色が割り当てられます。

Chris Coyer は、いくつかの異なる方法を示すすばらしい記事を書きました。 http://css-tricks.com/fluid-width-equal-height-columns/

于 2013-04-24T05:50:31.457 に答える