【问题标题】:Vertical centering not working because row not going to 100% height垂直居中不起作用,因为行不会达到 100% 高度
【发布时间】:2016-05-21 19:56:06
【问题描述】:

我正在尝试将引导容器中的一些 div 垂直居中,该容器可以根据其他列的内容调整大小。为了向后兼容,我想在没有 flexbox 的情况下执行此操作。

我正在尝试 translateY() 技巧,但父行的高度为 0,因此它以行的顶部而不是中间为中心。

我读到浮动项目会占用他们孩子的高度,所以我尝试浮动它们,但它仍然没有占用高度。

我怎样才能使这一行达到 100%,以便垂直居中正常工作?

    .container{
      margin-top: 60px;
    }

    .outer, .container{
      border: 1px solid #000;
    }

    .row-center{
      position: relative;
      /* This needs to be 100% height but I can't figure it out */
      /* I added the floats but it didn't help */
      height: 100%;
      float: left;
    }

    .outer{
      position: absolute;
      float: left;
      top: 50%;
      transform: translateY(-50%);
    }
    <div class="container">
      <div class="row">
        <div class="col-sm-5"><img src="http://placehold.it/350x500"></div>
        <div class="col-sm-7 row-center">
          <div class="outer">
            <div class="one">some text</div>
            <div class="two">some text</div>
          </div>
        </div>
      </div>
    </div>

(示例代码假定引用了引导 css)

附带引导程序的代码笔:http://codepen.io/GuerrillaCoder/pen/obJEgB

【问题讨论】:

  • 您是否尝试将 100% 的高度赋予 html 和 body。
  • 这是来自页面的 sn-p。它不是整个页面。
  • 老实说,这不是问题所在。该行从图像中获取其高度,并且不受 body 或 html 标签的约束。在你建议后我确实尝试了这个以防万一,但它没有效果。
  • 你有链接吗?或小提琴。

标签: html css twitter-bootstrap twitter-bootstrap-3


【解决方案1】:

试试:

.outer, .container{
    border: 1px solid #000;
    vertical-align: -webkit-baseline-middle;
    padding: 5px;
}

.row-center{
    position: relative;
    width: auto;
    height: 100%;
    float: left;
}

如果这不起作用,则为该div 申请padding

【讨论】:

  • @Krish :使用垂直对齐:中间; :) 也可以使用填充。
  • 尝试使用填充。我已经编辑了我的代码。您可以根据您的块修改填充。
  • 仍然无法正常工作,我不确定您要在这里做什么。问题是该行的高度为 0,因此在达到 100% 高度之前,中心对齐不会起作用。问题是它没有占用子项目的高度。
  • 你也必须在这里定义宽度。根据您的要求设置 width:auto 或 width:100%。
  • 高度:500px;并从 .row-center 中的 css 中删除宽度
【解决方案2】:

position: unset;.row-centerposition:relative;.row 将为您工作。

Working Fiddle

【讨论】:

  • 不错!是引导 css 中的某些东西导致了问题吗?
  • @Guerrilla No. 我已经在小提琴中添加了引导程序。它工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-11
  • 1970-01-01
  • 2011-06-12
  • 2013-11-27
  • 1970-01-01
  • 2018-04-20
  • 1970-01-01
相关资源
最近更新 更多