列不在同一高度

Posted

技术标签:

【中文标题】列不在同一高度【英文标题】:Columns are not on the same height 【发布时间】:2016-01-17 03:59:00 【问题描述】:

您好,我正在尝试让我的列保持在相同的高度。但这是我如何结束的图片:

我曾尝试将分别为 700 和 400 的 widthheight 属性赋予我的 img 标记。但这也没有奏效。这是我如何结束的图片:

这是我的一段代码:

<div class="container">
    <div class="row">
        @foreach ($projects as $project)
            <div class="col-lg-4 portfolio-item">
                <a href="#">
                    <img class="img-responsive" src="data:image/$project->image_type;base64,$project->image">
                </a>
                <h3>
                    <a href="#">  $project->name </a>
                </h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.</p </div>
            </div>
        @endforeach
    </div>
    <hr>
    <div class="row text-center">
        <div class="col-lg-12">
            !! $projects->render() !!
        </div>
    </div>
</div>

【问题讨论】:

【参考方案1】:

解决方案很简单,您应该将max-height 属性添加到图像的容器或图像本身。图像的纵横比变化,导致图像变小(因此它们可以保持纵横比)。设置max-height 将防止图像缩放超出指定高度。

【讨论】:

【参考方案2】:

将项目包装成flexbox。只需将以下类添加到项目父级,在本例中为 .row

.equal-height 
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

<div class="row equal-height">
  @foreach ($projects as $project)
  <div class="col-lg-4 portfolio-item">
    <a href="#">
       <img class="img-responsive" src="data:image/$project->image_type;base64,$project->image">
    </a>
    <h3>
      <a href="#">  $project->name </a>
    </h3>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.</p </div>
  </div>
  @endforeach
</div>

使用您的标记进行演示,已将 .col-lg-4 更改为 .col-xs-3,因此它适合小提琴结果框架,但没有任何区别 -> http://jsfiddle.net/63zvdLyu/

【讨论】:

我已经按照你的要求做了。但它没有成功:(。结果如下:i.imgur.com/pTRGyjr.png @superkytoz,我敢肯定,这些盒子的高度相同 - 但您的图像在高度/大小上非常不同。也许这是你真正的问题? 确实是这样。出现此问题,因为我的图像的高度/大小确实不同。但不幸的是我不知道如何解决它。【参考方案3】:

根据@davidkonrad 所说,您可以使用如下边距顶部规则来偏移每个图像(内部项目):

JS Fiddle

<div class="row equal-height">
    <div class="col-xs-3 portfolio-item">
        <div class="inner-item-1">
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
        </div>
    </div>
    <div class="col-xs-3 portfolio-item">
        <div class="inner-item-2">
            Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        </div>            
    </div>
    <div class="col-xs-3 portfolio-item">
        <div class="inner-item-3">
            Lorem ipsum dolor sit amet
        </div>
    </div>
</div>

.inner-item-1 
    background-color: green;
    display: block; /* images are inline by default */

.inner-item-2 
    background-color: yellow;
    margin-top: 100px;
    display: block; /* images are inline by default */

.inner-item-3 
    background-color: blue;
    margin-top: 140px;
    display: block; /* images are inline by default */

.portfolio-item 
    border:1px solid red;
    padding: 0;

.equal-height 
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

【讨论】:

以上是关于列不在同一高度的主要内容,如果未能解决你的问题,请参考以下文章

火柴排队

火柴排队

1966 火柴排队

Codevs 3286 火柴排队

COdevs 3286 火柴排队

luogu1966 火柴排队