我正在尝试找出一种方法,使响应式图像行具有相同的高度,而不管每个图像的纵横比或容器的宽度如何。实际图像文件的高度相同,但宽度不同。问题是,当容器变小时,在某些宽度下,舍入误差会导致图像的高度相差一个或两个像素。这是一个小提琴http://jsfiddle.net/chris_tsongas/vj2rfath/ http://jsfiddle.net/chris_tsongas/vj2rfath/,调整结果窗格的大小,您会看到在某些宽度下图像的高度不再相同。
我正在对来自 CMS 的内容进行样式设计,因此对标记的控制程度最低,并且有权仅使用 css 而不是 js。我尝试将图像高度设置为 100%,但这只会使图像成为其原始大小的 100%,而不是容器高度的 100%。这是上面链接的小提琴中的 html 和 css:
<div class="table">
<div class="row">
<div class="cell">
<img src="http://placehold.it/600x400" />
</div>
<div class="cell">
<img src="http://placehold.it/300x400" />
</div>
</div>
</div>
.table {
display: table;
width: 100%;
}
.row {
display: table-row;
}
.cell {
display: table-cell;
}
img {
max-width: 100%;
}
要使不同宽高比的图像达到相同的高度,您可以通过 NPM 使用开源库 bootstrap-spacer
npm install uniformimages
或者您可以访问 github 页面:
https://github.com/chigozieorunta/uniformimages
以下是使用“unim”类的示例(您需要 jQuery):
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<link href="uniformimages.css" rel="stylesheet" type="text/css"/>
<script src="uniformimages.js" type="text/javascript"></script>
</head>
<body>
<section>
<div class="container-fluid">
<div class="row">
<div class="col-sm-4">
<a href="product1.html">
<img src="image1.jpg" class="unim"/>
</a>
</div>
<div class="col-sm-4">
<a href="product2.html">
<img src="image2.jpg" class="unim"/>
</a>
</div>
<div class="col-sm-4">
<a href="product3.html">
<img src="image3.jpg" class="unim"/>
</a>
</div>
</div>
</div>
</section>
</body>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)