0

jsfiddle - ご覧のとおり、すべての div の高さはピクセル (div aおよびdiv b). . 最後の 1 つ (div c) はheight:100%. (黄色divはオーバーフローしています)。

4

5 に答える 5

0

デモ

bdivも含めて本体と同じ高さです。負のマージンとパディングで修正します。

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
#a{background:red; height:300px;}
#b{background:blue; height:50px; position:relative; z-index:15;}
#c{background:yellow; height:100%; margin-top:-50px; padding-top: 50px;width:100px; position:relative; z-index:5;}​
于 2012-10-15T20:35:07.253 に答える
0

ピクセルにコーディングしているため、 #c{height:250px;} を設定したくない理由はありますか? つまり、Div C の高さを Div A の高さと Div B の高さの差にしますか? これにより、黄色の div が常に赤色の div と同じ高さで終了するようになります。

#a{background:red; height:300px;}
#b{background:blue; height:50px;}
#c{background:yellow; height:250px; width:100px;}​
于 2012-10-15T20:35:07.940 に答える
0
div#b {
    float: left;
    width: 100%;
}

これはトリックを行います

http://www.jsfiddle.net/KWZdD/30/

于 2012-10-15T20:35:10.827 に答える
0

div c をブロック a 内に置き、b を取り出す -

<div id="b"></div>
<div id="a">
     <div id="c"></div>
</div>
于 2012-10-15T20:34:39.500 に答える
0

これを試してみてください。div a が親であり、高さが 300px であるため、 b と c の合計は 300px になるはずです

 #a{background:red; height:300px;}
 #b{background:blue; height:50px;}
 #c{background:yellow; height:250px; width:100px;}
于 2012-10-15T20:34:39.803 に答える