【发布时间】:2019-06-14 23:17:41
【问题描述】:
基本上我基于Bootstrap 4+ 版本开发了这个图像网格。添加多个media query 后,它对于某些特定设备和布局看起来不错。
参考代码
.cmd-three-img-container {
position: relative;
margin-bottom: 30px;
height: 320px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
@media (max-width: 768px) {
.cmd-three-img-container {
height: 200px;
}
}
.cmd-main-img {
width: 50%;
height: 100%;
margin-left: 5px;
cursor: pointer;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.cmd-main-img img {
width: 100%;
height: 100%;
object-fit: cover;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.cmd-img-stacked {
width: 50%;
height: 100%;
cursor: pointer;
}
.cmd-img-overlay {
position: absolute;
top: 10px;
right: 10px;
}
.cmd-img-overlay h4 {
float: right;
font-size: 22px;
font-weight: 400;
color: #fff;
font-family: "Rubik", sans-serif;
}
.cmd-top-img,
.cmd-bottom-img {
width: 100%;
height: calc(50% - 2.5px);
cursor: pointer;
}
.cmd-top-img img {
width: 100%;
height: 100%;
object-fit: cover;
background-position: center;
border-top-left-radius: 4px;
}
.cmd-bottom-img img {
width: 100%;
height: 100%;
object-fit: cover;
background-position: center;
border-bottom-left-radius: 4px;
}
.cmd-top-img {
margin-bottom: 5px;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="cmd-three-imggrid-area">
<div class="container-fluid px-5-percent">
<div class="row">
<div class="col-sm-3">
<div class="cmd-three-img-container">
<!-- top level image container START-->
<div class="cmd-img-stacked">
<!--stacked img container -->
<div class="cmd-top-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-bottom-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
</div>
<div class="cmd-main-img">
<!--Main image -->
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-img-overlay">
<h4>Work</h4>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="cmd-three-img-container">
<!-- top level image container START-->
<div class="cmd-img-stacked">
<!--stacked img container -->
<div class="cmd-top-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-bottom-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
</div>
<div class="cmd-main-img">
<!--Main image -->
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-img-overlay">
<h4>Work</h4>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="cmd-three-img-container">
<!-- top level image container START-->
<div class="cmd-img-stacked">
<!--stacked img container -->
<div class="cmd-top-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-bottom-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
</div>
<div class="cmd-main-img">
<!--Main image -->
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-img-overlay">
<h4>Work</h4>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="cmd-three-img-container">
<!-- top level image container START-->
<div class="cmd-img-stacked">
<!--stacked img container -->
<div class="cmd-top-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-bottom-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
</div>
<div class="cmd-main-img">
<!--Main image -->
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-img-overlay">
<h4>Work</h4>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="cmd-three-img-container">
<!-- top level image container START-->
<div class="cmd-img-stacked">
<!--stacked img container -->
<div class="cmd-top-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-bottom-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
</div>
<div class="cmd-main-img">
<!--Main image -->
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-img-overlay">
<h4>Work</h4>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="cmd-three-img-container">
<!-- top level image container START-->
<div class="cmd-img-stacked">
<!--stacked img container -->
<div class="cmd-top-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-bottom-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
</div>
<div class="cmd-main-img">
<!--Main image -->
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-img-overlay">
<h4>Work</h4>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="cmd-three-img-container">
<!-- top level image container START-->
<div class="cmd-img-stacked">
<!--stacked img container -->
<div class="cmd-top-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-bottom-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
</div>
<div class="cmd-main-img">
<!--Main image -->
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-img-overlay">
<h4>Work</h4>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="cmd-three-img-container">
<!-- top level image container START-->
<div class="cmd-img-stacked">
<!--stacked img container -->
<div class="cmd-top-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-bottom-img">
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
</div>
<div class="cmd-main-img">
<!--Main image -->
<img src="https://i.imgur.com/H4bbqpA.jpg" alt="">
</div>
<div class="cmd-img-overlay">
<h4>Work</h4>
</div>
</div>
</div>
</div>
</div>
</div>
所以我想保持 三个图像 的比例相同,它在桌面上显示与移动设备相同,ipad 也一样!基于设备布局的两个或三个图像网格无关紧要,但会减少包含图像宽度和高度的总网格大小和流动性。
提前致谢
【问题讨论】:
标签: javascript html css flexbox bootstrap-4