方形图像,Bootstrap 4

问题描述 投票:0回答:1

我有一个带有图像预览的页面。所有图像的大小均不同,但预览应全部为正方形。

/* This is the CSS code which sets automatic height: */

.preview-img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
<div class="row">
  <div class="col-md-4 col-sm-6 portfolio-item">
    <a class="portfolio-link" data-toggle="modal" href="#image1">
      <div class="portfolio-hover">
        <div class="portfolio-hover-content">
          <p class="text-white">Full size</p>
        </div>
      </div>
      <img class="img-fluid preview-img" src="img/01-thumbnail.jpg" alt="">
    </a>
    <div class="portfolio-caption">
      <h4>Image name</h4>
    </div>
  </div>
  <div class="col-md-4 col-sm-6 portfolio-item">
    <a class="portfolio-link" data-toggle="modal" href="#image2">
      <div class="portfolio-hover">
        <div class="portfolio-hover-content">
          <p class="text-white">Full size</p>
        </div>
      </div>
      <img class="img-fluid preview-img" src="img/02-thumbnail.jpg" alt="">
    </a>
    <div class="portfolio-caption">
      <h4>Image name</h4>
    </div>
  </div>
  <div class="col-md-4 col-sm-6 portfolio-item">
    <a class="portfolio-link" data-toggle="modal" href="#image3">
      <div class="portfolio-hover">
        <div class="portfolio-hover-content">
          <p class="text-white">Full size</p>
        </div>
      </div>
      <img class="img-fluid preview-img" src="img/03-thumbnail.jpg" alt="">
    </a>
    <div class="portfolio-caption">
      <h4>Image name</h4>
    </div>
  </div>
</div>

如何在不使用像素的情况下根据其宽度设置图像的高度?

css image bootstrap-4 image-resizing
1个回答
0
投票
.preview-img {
  width: 100%;
  padding-bottom: 100%;
  height: 0;
  object-fit: cover;
}

这在所有主流浏览器上都可以使用。

[如果可以使用JavaScript,

window.addEventListener("resize", function(e) {
    var element = document.getElementsByClassName("preview-img");
    mapElement.style.height = mapElement.width;
});
© www.soinside.com 2019 - 2024. All rights reserved.