height プロパティを使用せずに自動スケーリング レイアウトを作成したい。画像に示すように、2 つの div 間でフロート レイアウトを使用します。中央のボックスには異なるサイズのコンテンツがあり、すべて同じ高さになるようにボックスをスケーリングしたいと考えています。
質問する
2666 次
4 に答える
3
css-tricks でこの記事を読んでみてください。
私のお気に入りの選択肢は、おそらくHTML5Rocksの Paul Irish のブログから引用したものですが、最新のブラウザーに依存しています。彼のコードに基づいてJSFiddleを作成しました。
CSS
.box {
/* basic styling */
width: 100%;
height: 95px;
border: 1px solid #555;
font: 14px Arial;
/* flexbox setup */
display: -webkit-box;
-webkit-box-orient: horizontal;
display: -moz-box;
-moz-box-orient: horizontal;
display: box;
box-orient: horizontal;
}
.box > div {
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
}
/* our colors */
.box > div:nth-child(1){ background : #FCC; }
.box > div:nth-child(2){ background : #CFC; }
.box > div:nth-child(3){ background : #CCF; }
HTML
<div class="box">
<div>A</div>
<div>B</div>
<div>C</div>
</div>
ただし、これは従来のブラウザーでは機能しないことに注意してください。それらをターゲットにしている場合は、テーブル レイアウトを採用することをお勧めします。
于 2013-07-01T09:30:20.143 に答える
1
JsFiddleを作成しました。
私が基本的に行うことは、とCSS プロパティをposition:absolute
組み合わせて使用して、内側の div を強制的に全高にすることです。top
bottom
HTML:
<div id="top"></div>
<div id="middle"></div>
<div id="bottom"></div>
CSS:
body{
margin: 0px;
padding: 0px;
border: 0px;
}
#top{
width: 100%;
height: 30px;
background: blue;
position: absolute;
}
#bottom{
width: 100%;
height: 30px;
background: yellow;
position: absolute;
bottom: 0px;
}
#middle{
width: 30%;
position: absolute;
top: 30px;
bottom: 30px;
background: gray;
}
于 2013-07-01T09:33:02.453 に答える