使用显示内联块列向下移动

时间:2013-06-17 18:53:25

标签: html css

我正在尝试使用display:inline-block构建3列。

它在开始时工作正常,但是当我向第一列添加内容时,它会影响布局的其余部分并将其余列呈现在较低级别。

我该怎么做才能避免这种情况?

.cont {
  width: 500px;
  height: 200px;
  background: #666666;
}
.col {
  display: inline-block;
  width: 30%;
  background: pink;
}
<div class="cont">
  <div class="col">
    test<br><br><br>
  </div>
  <div class="col">
    col2
  </div>
  <div class="col">
    col3
  </div>
</div>

2 个答案:

答案 0 :(得分:8)

您应该添加vertical-align: top; CSS声明以在顶部垂直对齐列

.cont span {
    display: inline-block;
    vertical-align: top;     /* Vertically align the inline-block elements */
    height:100%;
    line-height: 100%;
    width: 33.33%;           /* Just for Demo */
    outline: 1px dashed red; /* Just for Demo */
}

这是 online demo


老实说,由于white spaces between them,我不喜欢使用inline-block在页面上创建列。

float正在使用一段时间,但现在flex框或CSS grid可以选择。

答案 1 :(得分:-1)

您只需在列上设置33%的宽度,这将限制它占据div整个宽度的33%。

http://jsfiddle.net/Ge6g7/1/

.cont {
    height:60px;
    background: #ffff88;
}
.cont span {
    display: inline-block;
    height:100%;
    line-height: 100%;
    width: 33%; /* Added Css */
}