如何对齐不同尺寸的图像

时间:2019-04-02 10:06:11

标签: php html css image alignment

我正在尝试用不同大小的图像编写页面,但无法弄清楚如何正确对齐它们。 该网页的外观如下: https://i.imgur.com/Li17CMl.jpg

我添加了引导img-fluid以提高响应速度。如果我设置固定高度的图像,将无法在较小的屏幕上正确缩小。

我用'...'清除了一些不相关的数据,只是为了使代码看起来更干净。 我当前的代码:

    foreach(row...) : ?>
    <div class="col-md-6" style="padding...">

      <div class="card">
        <div class="card-body" style="padding...">

          <a href="">
            <div>
              <img class="img-fluid" style="width: 100%;" src="row->image..." alt="">
            </div>
            <div>
              <h5> title </h1>
              <h6> date </h6>
            </div>
          </a>

        </div> <!-- /card body -->
      </div> <!-- /card -->

    </div> <!-- /col-6 -->
    <?php endforeach; ?>

我希望图像可以在较小的屏幕上缩小。

2 个答案:

答案 0 :(得分:1)

TL:DR object-fit: cover;可以解决问题。

解决方案1-固定高度

使用此解决方案,您必须为图像的高度设置值:照片不会拉伸,但每个屏幕的比例都会不同

.img-fluid {
   height: 200px; /* insert here your desired height*/
   object-fit:cover;
}

解决方案2-真正的流体

此解决方案比较棘手,但照片始终具有您选择的比例。

.card-body a div:first-child {
   position: relative;
   width: 100%;
   height: 0;
   padding-top: 60%; /*insert value for the desired ratio. ie: 60% -> 10/6 image*/ 
}

.img-fluid {
   position: absolute;
   top:0;
   left: 0;
   right: 0;
   bottom: 0;
   object-fit: cover;
}

答案 1 :(得分:0)

请使用以下代码:

.img-card img{width:100%;height:300px;object-fit:cover;}
.img-card{margin-bottom:15px;margin-top:15px;}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

<div class="container">
<div class="row">
  <div class="col-6">
    <div class="img-card">
      <img src="https://i.ytimg.com/vi/VDNd4KjELkU/maxresdefault.jpg" />
    </div>
  </div>
    <div class="col-6">
    <div class="img-card">
      <img src="https://media-cdn.tripadvisor.com/media/photo-s/0f/5e/fc/f5/inkaya-cinari.jpg" />
    </div>
  </div>
    <div class="col-6">
    <div class="img-card">
      <img src="https://thumbs.dreamstime.com/z/scenery-5680647.jpg" />
    </div>
  </div>
    <div class="col-6">
    <div class="img-card">
      <img src="https://cdn.pixabay.com/photo/2015/11/11/03/47/evening-1038148__340.jpg" />
    </div>
  </div>
</div>
</div>