引导程序跨度中的垂直对齐

时间:2012-07-03 01:46:23

标签: twitter-bootstrap

相对于其他跨度,引导跨度中的元素或文本的垂直对齐是否有任何解决方法

例如。如果我有一行并且跨度如此

<div class="row-fluid">
   <div class="span3" style="background-color:lightblue">Description</div>
   <div class="span9" style="background-color:pink">
   Lorem ipsum Lorem ipsum  Lorem ipsum  Lorem ipsum  Lorem ipsum  Lorem ipsum  Lorem ipsum  ....
   </div>
</div>

看起来像这样

enter image description here

那么有没有办法在下一个跨度的高度垂直居中显示“描述”?

7 个答案:

答案 0 :(得分:2)

尝试display: table;代表父代,display: table-cell;代表儿童

JSFiddle

答案 1 :(得分:0)

如果您尝试垂直居中某个屏幕尺寸的元素,则可以始终使用媒体查询,例如:

/*tablet*/
@media (min-width: 768px) and (max-width: 979px) {
  #logo{
    margin-top:70px;
  }
}
/*desktop*/
@media (max-width: 979px) {
  #logo{
    margin-top:20px;
  }
}
/*large desktop*/
@media (min-width: 1200px) {
  #logo{
    margin-top:0;
  }
}

答案 2 :(得分:0)

您可以尝试一些absolute centering tricks with CSS。例如,如果您愿意:1)声明div的高度居中,并且2)创建.row-fluid position: relative;然后this sample could work for you

导致以下DOM:

<div class="row-fluid relative">
    <div class="span3">
        <div class="vercenter" style="background-color:lightblue">Description</div>
    </div>
    <div class="span9" style="background-color:pink">Lorem Ipsum...</div>
</div>

和CSS:

.relative {
    position: relative;
}
.vercenter {
    height: 1.5em;
    margin: auto;
    left: 0;
    top: 0;
    bottom: 0;
    position: absolute;
}

答案 3 :(得分:0)

我在这方面做了很多工作,这里显示了使用jquery的简单解决方案!

<script>
$(document).ready(function(){
    var relheight=$('.span9').height() / 2;
    $('.span3').css('margin-top', relheight) ;

});
</script>

它可以工作,我也测试了它。如果你喜欢我的回答,请投票给我

答案 4 :(得分:0)

在Bootstrap中没有针对此类问题的规定。 植入依赖性。 但是你可以编写一个css规则,说明下一个div是否超过前一个div的高度,将前一个div与下一个div的中心高度对齐。将此类应用于div,只要你想要这种行为。

答案 5 :(得分:0)

查看此无脚本解决方案。

<div class="row-fluid">
   <div class="span3" style="background-color:lightblue;margin:0px auto;float:none;">Description</div>
   <div class="span9" style="background-color:pink;clear:both;margin:0px auto;float:none;">
   Lorem ipsum Lorem ipsum  Lorem ipsum  Lorem ipsum  Lorem ipsum  Lorem ipsum  Lorem ipsum  ....
   </div>
</div>

行动中的代码:jsFiddle

只需删除内联样式并将其放在css文件中即可。

答案 6 :(得分:-1)

$('.row').each(function() {
  var rowHeight = $(this).height();
  $(this).find("[class^='span']").each(function() {
    if ( $(this).height() < rowHeight-20) {
      var odstep = (rowHeight - $(this).height()) / 2 ; 
      $(this).css( "padding-top", odstep );
    }
  });
});