vertical-align:中间有Bootstrap 2

bgo*_*ndy 31 html css html5 twitter-bootstrap-2

我使用twitter bootstrap,我想将verticaly 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>
Run Code Online (Sandbox Code Playgroud)

我试过这个但不是wortks:

.span6 .row{display: table;}
.span6 .row .span3, .span6 .row figure{display:table-cell; vertical-align: middle;}
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

.span6 .row .span3{display: inline-block; vertical-align: middle;}
Run Code Online (Sandbox Code Playgroud)

没有工作.有人有想法吗?提前致谢.

Skr*_*ner 17

试试这个:

.row > .span3 {
    display: inline-block !important;
    vertical-align: middle !important;
}
Run Code Online (Sandbox Code Playgroud)

编辑:

小提琴:http://jsfiddle.net/EexYE/

float: none !important;如果span3处于浮动状态且干扰,您可能还需要添加Diego .

编辑:

小提琴:http://jsfiddle.net/D8McR/

回应Alberto:如果你修复了行div的高度,那么要继续垂直居中对齐,你需要将行的行高设置为与行的像素高度相同(即两者都有)在您的情况下为300px).如果你这样做,你会注意到子元素继承了行高,这在这种情况下是一个问题,所以你需要将span3s的行高设置为它实际应该是什么(1.5是小提琴中的示例值,或1.5 x字体大小,我们在更改行高时没有改变).

  • @AlbertoPellizzon查看上面帖子的附加编辑.简而言之,您需要设置行div的行高以匹配您设置的高度,例如.高度和线高均为300px.然后,为了防止您的类型和图像显示不正确,您需要将span3s的行高设置为它们的正确值,否则它将从行div继承300px. (2认同)