【发布时间】:2017-11-24 04:04:04
【问题描述】:
我希望这个结果为shown in image。
我想使用 Twitter Bootstrap 4 的“卡片”标签。
缩略图中的图像尺寸不同,但卡片的尺寸应保持不变。应按比例缩小图像以保持其纵横比。
在这里,我找到了这些技巧和 CSS 代码:same question on StackOverflow 和 my trial based on it (without "card" tag),但我想将它与 Bootstrap 4 的“卡片”标签一起使用。
HTML
<div class="container">
<div class="row">
<div class="col-xl-3 col-lg-3 col-md-3 col-sm-6 col-12 thumbnailContainer">
<div class="productThumb">
<div class="img-wrapper">
<div class="thumb">
<img src="http://mintywhite.com/wp-content/uploads/2012/10/fond-ecran-wallpaper-image-arriere-plan-hd-29-HD.jpg">
</div>
</div>
</div>
<div class="productDetails">
<hr>
<h5 class="card-title">Caption</h5>
<p>Short Description goes here<a class="btn btn-info btn-sm float-right" href="#">Details</a></p>
</div>
</div>
<div class="col-xl-3 col-lg-3 col-md-3 col-sm-6 col-12 thumbnailContainer">
<div class="productThumb">
<div class="img-wrapper">
<div class="thumb">
<img src="https://medsell.in/public/profilepics/mOM0201011D1491339837.JPG">
</div>
</div>
</div>
<div class="productDetails">
<hr>
<h5 class="card-title">Caption</h5>
<p>Short Description goes here<a class="btn btn-info btn-sm float-right" href="#">Details</a></p>
</div>
</div>
<div class="col-xl-3 col-lg-3 col-md-3 col-sm-6 col-12 thumbnailContainer">
<div class="productThumb">
<div class="img-wrapper">
<div class="thumb">
<img src="http://www.gettyimages.com/CMS/Pages/ImageCollection/StaticContent/image1_%20164248809.jpg">
</div>
</div>
</div>
<div class="productDetails">
<hr>
<h5 class="card-title">Caption</h5>
<p>Short Description goes here<a class="btn btn-info btn-sm float-right" href="#">Details</a></p>
</div>
</div>
<div class="col-xl-3 col-lg-3 col-md-3 col-sm-6 col-12 thumbnailContainer">
<div class="productThumb">
<div class="img-wrapper">
<div class="thumb">
<img src="https://medsell.in/public/profilepics/mNitrile%20Examination%20Gloves1494490822.png">
</div>
</div>
</div>
<div class="productDetails">
<hr>
<h5 class="card-title">Caption</h5>
<p>Short Description goes here<a class="btn btn-info btn-sm float-right" href="#">Details</a></p>
</div>
</div>
<div class="col-xl-3 col-lg-3 col-md-3 col-sm-6 col-12 thumbnailContainer">
<div class="productThumb">
<div class="img-wrapper">
<div class="thumb">
<img src="http://fakeimg.pl/500x330/ccc/">
</div>
</div>
</div>
<div class="productDetails">
<hr>
<h5 class="card-title">Caption</h5>
<p>Short Description goes here<a class="btn btn-info btn-sm float-right" href="#">Details</a></p>
</div>
</div>
<div class="col-xl-3 col-lg-3 col-md-3 col-sm-6 col-12 thumbnailContainer">
<div class="productThumb">
<div class="img-wrapper">
<div class="thumb">
<img src="http://upload.wikimedia.org/wikipedia/commons/f/f5/Poster-sized_portrait_of_Barack_Obama.jpg">
</div>
</div>
</div>
<div class="productDetails">
<hr>
<h5 class="card-title">Caption</h5>
<p>Short Description goes here<a class="btn btn-info btn-sm float-right" href="#">Details</a></p>
</div>
</div>
<div class="col-xl-3 col-lg-3 col-md-3 col-sm-6 col-12 thumbnailContainer">
<div class="productThumb">
<div class="img-wrapper">
<div class="thumb">
<img src="http://fakeimg.pl/500x330/ccc/">
</div>
</div>
</div>
<div class="productDetails">
<hr>
<h5 class="card-title">Caption</h5>
<p>Short Description goes here<a class="btn btn-info btn-sm float-right" href="#">Details</a></p>
</div>
</div>
<div class="col-xl-3 col-lg-3 col-md-3 col-sm-6 col-12 thumbnailContainer">
<div class="productThumb">
<div class="img-wrapper">
<div class="thumb">
<img src="http://fakeimg.pl/500x330/ccc/">
</div>
</div>
</div>
<div class="productDetails">
<hr>
<h5 class="card-title">Caption</h5>
<p>Short Description goes here<a class="btn btn-info btn-sm float-right" href="#">Details</a></p>
</div>
</div>
</div>
</div>
CSS
.productThumb {
display: block;
margin: 100%;
}
.img-wrapper {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
border: 1px solid #ddd;
border-radius: 0.4em;
margin: 0.2em;
}
.img-wrapper .thumb {
height:150%;
}
.thumb {
display: block;
padding: 0.4em;
}
.thumb img {
position: relative;
top: 25%;
left: 50%;
max-width: 100%;
max-height: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
border-radius: 0.4em;
}
.productDetails {
display: block;
z-index: 100000;
}
我不知道如何达到这个结果。请帮忙。
提前谢谢你。
【问题讨论】:
-
如果你分享jsfiddle测试,那么我们可以分析问题是布局。
-
嗨 Vishal,这是我创建的 jsfiddle。 jsfiddle.net/ewz699ak
标签: html css twitter-bootstrap