15

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

例如。如果我有一排这样的跨度

<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>

看起来像这样

在此处输入图像描述

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

4

7 回答 7

2

尝试display: table;为父母和display: table-cell;孩子

JSFiddle

于 2014-09-19T14:31:16.287 回答
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;
  }
}
于 2012-10-31T18:55:58.940 回答
0

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

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

});
</script>

它有效,我也对其进行了测试。如果你喜欢我的回答,请投票给我

于 2013-10-04T08:12:38.313 回答
0

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

于 2013-10-07T08:47:48.617 回答
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 文件中。

于 2013-11-12T11:12:15.137 回答
0

您可以使用 CSS 尝试一些绝对居中技巧。例如,如果您愿意:1) 将 div 的高度声明为居中,以及 2) 使您的.row-fluid position: relative;然后也许这个示例可以为您工作

生成以下 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;
}
于 2013-08-23T23:54:15.250 回答
-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 );
    }
  });
});
于 2013-05-22T21:56:52.350 回答