0

ライブ: http://jsfiddle.net/8hAv3/

#main {
    width: 100px;
    height: 100px;
    background-color: red;
}
#sub {
    width: 100%;
    height: 100%;
    background-color: blue;
    vertical-align: middle;
}

<div id="main">
    <div id="sub">TEXT</div>
</div>

この例で垂直方向の位置合わせが機能しないのはなぜですか? どうすれば作れますか?マージン、パディング、高さをpxで設定したくありません。これは可能ですか?

4

6 に答える 6

1

これはうまくいくはずです:

#main {
    width: 100px;
    height: 100px;
    background-color: red;
    display: table;
}
#sub {
    display: table-cell;
    height: 100%;
    width: 100%;
    background-color: blue;
    vertical-align: middle;
}

http://jsfiddle.net/8hAv3/2/

于 2013-06-05T13:16:40.550 に答える
0

要素 #sub に行の高さを指定する必要があります。そうしないと、ブラウザは垂直方向に配置する高さがわかりません。

于 2013-06-05T13:16:32.943 に答える
0

divに a を与えるだけline-heightです。

 #main {
    width: 100px;
    height: 100px;
    background-color: red;
}
#sub {
    width: 100%;
    height: 100%;
    background-color: blue;
    line-height:100px;
}

フィドル

このソリューションはdisplay:tableanddisplay:table-cellを使用display:tableせずdisplay:table-cell、ブラウザーに適していないため、一部の古いブラウザーはサポートしていません

于 2013-06-05T13:21:25.430 に答える
0

display:tableメインコンテナとdisplay:table-cell子コンテナで使用する必要があります。ここに示す: http://jsfiddle.net/8hAv3/1/

于 2013-06-05T13:15:22.743 に答える
0

を使用する必要があります

display:table-row; 
display:table-cell; or 
display:table;

vertical-align スタイルとともに、どの正確な表示値が必要かはわかりませんが、そのうちの 1 つである必要がありtableます。

于 2013-06-05T13:13:36.063 に答える
0

固定高さのボックスでテキストを垂直方向に中央揃えにしたい場合line-height:100pxは、それを行うために使用します

于 2013-06-05T13:12:57.607 に答える