Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用CSS和/或JS动态裁剪(或遮罩?)所有图像到最短图像的高度?_Javascript_Jquery_Html_Css_Image - Fatal编程技术网

Javascript 使用CSS和/或JS动态裁剪(或遮罩?)所有图像到最短图像的高度?

Javascript 使用CSS和/或JS动态裁剪(或遮罩?)所有图像到最短图像的高度?,javascript,jquery,html,css,image,Javascript,Jquery,Html,Css,Image,所以我有一个电子商务环境中的产品网格,每个网格单元的高度由照片的高度决定。在网格中显示时,宽度总是相同的,但有些图片会更高 我正在尝试找出一种最简单的方法(除了手动裁剪之外)来动态确定某个类中最短照片的高度,然后将所有照片裁剪或遮罩到该高度 下面是一个关于代码外观的非常基本的示例。假设有一个CSS规则将类项的每个div设置为25%的宽度,并以内联方式显示。在这种情况下,像在我的例子中一样,长宽比不相等的图像将比它们的邻居高或短 <div class="row"> <div

所以我有一个电子商务环境中的产品网格,每个网格单元的高度由照片的高度决定。在网格中显示时,宽度总是相同的,但有些图片会更高

我正在尝试找出一种最简单的方法(除了手动裁剪之外)来动态确定某个类中最短照片的高度,然后将所有照片裁剪或遮罩到该高度

下面是一个关于代码外观的非常基本的示例。假设有一个CSS规则将类项的每个div设置为25%的宽度,并以内联方式显示。在这种情况下,像在我的例子中一样,长宽比不相等的图像将比它们的邻居高或短

<div class="row">
  <div class="item">
    <img src="..."/>
  </div>
  <div class="item">
    <img src="..."/>
  </div>
  <div class="item">
    <img src="..."/>
  </div>
  <div class="item">
    <img src="..."/>
  </div>
</div>

有几种方法可以做到这一点,您可以将图像绝对定位在相对定位的div中,也可以将div设置为图像的背景。如果您的图像大小千差万别,您可能希望使用“背景”方法。如果不是的话,你可能想绝对定位它们。什么对你最合适。以下是css示例:

.item{
  position:relative;
  padding-bottom:20%; /*padding-bottom for height*/
  overflow:hidden;
}
img{
  position:absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width:100%;
}

/* background method properties */
.item{
  background-size:cover !Importqnt;
  background-position: center !Important;
}
然后,对于绝对定位,可以在示例中使用标记

<div class="row">
  <div class="item">
    <img src="..."/>
  </div>
  <div class="item">
    <img src="..."/>
  </div>
  <div class="item">
    <img src="..."/>
  </div>
  <div class="item">
    <img src="..."/>
  </div>
</div>

对于背景,可以为每个元素设置背景

<div class="item" style="background:url('...')"></div>


这是一把小提琴

嗨,我们需要一个代码示例。@MichaelCoker添加所有图像的结尾,对它们进行迭代,跟踪最短的,然后剪辑?