1

あなたの助けが必要です、

div 内のテキストを自動的に中心に置くことができないようです。

現在: ここに画像の説明を入力

期待される結果: ここに画像の説明を入力 HTML マークアップは次のとおりです。

CSS

#alertBox_container {
    left: 50%;
    padding: 10px;
    top: 50%;
    margin: 0;
    padding: 0;
    height: 100%;
    border: 1px solid #808080;
    position: relative;
    color: rgb(11,63,113);
    background: #FFF;
    font-family: Arial;
}

#alertBox {
    height: 100px;
    width: 400px;
    bottom: 50%;
    right: 50%;
    position: absolute;
}

#alertBox_titlebar {
    line-height:24px;
    width: 100%;
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#cdcdcd");
    font-weight: bold;
    font-size: 9pt;
}

.alertBox_Button {
    color: #464646;
    border: 1px solid;
    border-color: #999 #666 #666 #999;
    background-color:#ccc;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', EndColorStr='#E7E7E7');
}

.alertBox_Button:hover {
    background-color: #ddd;        
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fafafa', EndColorStr='#dddddd');
    color: #000000;
}

#alertBox_close {
    line-height: 11px;
    width: 18px;

    font-size: 9pt;
    font-weight: bold;
    margin: 2px;
    padding: 1px;
    position:absolute;
    top:0px;
    right:0;
}

#alertBox_text_container {
    width: 100%;
    height: auto;
    text-align: center;
}
#alertBox_text {
    font-size: 9pt;
    width: 100%;
}
#alertBox_div_btn_OK {
    width: 100%;
    text-align: center;
    margin: 5px;
}

#alertBox_btn_OK {
    height: 20px;
    width: 50px;
    font-size: 9pt;
}

HTML

<div id="alertBox">
    <div id="alertBox_container">
        <div id="alertBox_titlebar"><span style="padding-left: 3px;">IMTS</span></div>
        <div><input class="alertBox_Button" id="alertBox_close" type="button" value="X" onclick="alertBox_hide()"></div>
        <div id="alertBox_text_container"><div id="alertBox_text">this is some text that should be vertically centered</div></div>
        </div>
    </div>
</div>

フィドルhttp://jsfiddle.net/VuEwu/

4

4 に答える 4

2

ここに解決策があります: Fiddle

主なアイデアは、使用することです

display: table-cell
vertical-align: middle;

css display プロパティtable-cellの値をサポートしていない古いブラウザでは動作しない場合があります。このような場合、一般的にこの問題に対する非常に優れた説明と解決策があります

于 2013-09-25T18:55:36.730 に答える
1

垂直方向のセンタリングはトリッキーです。パーセンテージを手動で計算し、適切なマージンまたはパディングを追加するのが最も簡単で一貫性があります。ただし、他の方法もあります。私が知っている以下の4つの方法を提供しました。

CSS

.center-1{
    position:absolute;
    top:50%;
    width:100%;
    height:1em; /* need a fixed height for the element */
    margin-top:-.5em; /* offset height with negative margin */
    text-align:center;
}

.center-2{
    width:100%;
    height:100%;
    display: table-cell;/* IE8+ */
    vertical-align: middle;
    text-align:center;
}
.center-3{
    width:100%;
    line-height: 300px;/* height of your container */
    text-align:center;
}
.center-4{
    margin-top:29%;/* manual guess that will scale with the box */  
    width:100%;
    text-align:center;
}
.container{
    height:300px;
    width:500px;
    margin:20px;
    border:1px solid black;
    position:relative;
    display: table;/* needed for center-2 */
}

html

<div class="container">
    <div class="center-1">
        Center Me!
    </div>
</div>

<div class="container">
    <div class="center-2">
        Center Me!
    </div>
</div>

<div class="container">
    <div class="center-3">
        Center Me!
    </div>
</div>
<div class="container">
    <div class="center-4">
        Center Me!
    </div>
</div>

http://jsfiddle.net/xSML5/

于 2013-09-25T19:23:42.877 に答える
1

あなたはそれを使用してそれを解決することができますmargin-top style

#alertBox_text_container {
    width: 100%;
    height: auto;
    text-align: center;
    margin-top:20px;
}

ライブデモ

于 2013-09-25T18:49:14.537 に答える