web-dev-qa-db-ja.com

垂直方向の整列:中間Bootstrap 2

Twitter bootstrap=を使用し、divブロックを写真と右側のテキストに垂直に配置したかったのです。

コードは次のとおりです。

<ol class="row" id="possibilities">
     <li class="span6">
         <div class="row">
             <div class="span3">
                 <p>some text here</p>
                 <p>Text Here too</p>
             </div>
             <figure class="span3"><img src="img/screenshots/options.png" alt="Some text" /></figure>
         </div>
     </li>
     <li class="span6">
         <div class="row">
             <figure class="span3"><img src="img/qrcode.png" alt="Some text" /></figure>
             <div class="span3">
                 <p>Some text</p>
                 <p>Some text here too.</p>
             </div>
         </div>
     </li>
</ol>

私はこれを試しましたが、wortksではありません:

.span6 .row{display: table;}
.span6 .row .span3, .span6 .row figure{display:table-cell; vertical-align: middle;}

私もこれを試しました:

.span6 .row .span3{display: inline-block; vertical-align: middle;}

動作していません。誰かがアイデアを持っていますか?前もって感謝します。

31
bgondy

これを試して:

.row > .span3 {
    display: inline-block !important;
    vertical-align: middle !important;
}

編集:

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

ディエゴのfloat: none !important;また、span3がフローティングであり、干渉する場合。

編集:

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

Albertoへの応答:行divの高さを修正する場合、垂直方向の中央揃えを続行するには、行の行の高さを行のピクセルの高さと同じに設定する必要があります(つまり、両方あなたの場合は300pxまで)。そうすると、子要素がline-heightを継承することに気付くでしょう。これはこの場合の問題です。そのため、span3sの行の高さを実際の値に設定する必要があります(1.5はフィドルの例の値、またはフォントサイズの1.5倍。これは、行の高さを変更しても変更されませんでした)。

17
Skrivener

Span6からfloat属性を削除してみてください:

{ float:none !important; }
4
Diego Sanches

私はこれを使用します

<style>
html, body{height:100%;margin:0;padding:0 0} 
.container-fluid{height:100%;display:table;width:100%;padding-right:0;padding-left: 0}   
.row-fluid{height:100%;display:table-cell;vertical-align:middle;width:100%}
.centering{float:none;margin:0 auto} 
</style>
<body>
<div class="container-fluid">
     <div class="row-fluid">
     <div class="offset3 span6 centering">
            content here
         </div>
    </div>
 </div>
</body>
0
atabak

私自身のブートストラップの使用から正しく覚えていれば、.spanNクラスはフロートされ、自動的にdisplay: blockとして動作します。 display: table-cellを機能させるには、フロートを削除する必要があります。

0
grandivory

前の答えと同様に、Pull属性も常に使用できます。


    <ol class="row" id="possibilities">
       <li class="span6">
         <div class="row">
           <div class="span3">
             <p>some text here</p>
             <p>Text Here too</p>
           </div>
         <figure class="span3 pull-right"><img src="img/screenshots/options.png" alt="Some text" /></figure>
        </div>
 </li>
 <li class="span6">
     <div class="row">
         <figure class="span3"><img src="img/qrcode.png" alt="Some text" /></figure>
         <div class="span3">
             <p>Some text</p>
             <p>Some text here too.</p>
         </div>
     </div>
 </li>
0
Thomas.Donnelly