【发布时间】:2017-11-11 21:06:28
【问题描述】:
这是我的演示,以说明我的意思:
* {
box-sizing: border-box;
}
body, html {
height: 100%;
width: 100%;
}
body {
background: #333;
margin: 0;
padding: 0;
}
.content {
display: flex;
height: 100%;
padding: 20px;
}
.panel {
flex: 0 0 200px;
display: flex;
margin-left: 20px;
}
.widget {
background: white;
width: 100%;
height: 100%;
}
.videoContainer {
display: flex;
flex: 1 1 100%;
flex-wrap: wrap;
}
.video {
height: 50%;
width: 50%;
padding: 2px;
position: relative;
}
.videoCover {
position: absolute;
background: red;
opacity: 0.4;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
img {
width: 100%;
height: 100%;
object-fit: contain; /* Default for videos */
}
<div class="content">
<div class="videoContainer">
<div class="video">
<div class="videoCover"></div>
<img width="600" height="400" src="http://thatgrapejuice.net/wp-content/uploads/2016/03/rihanna-thatgrapejuice-mariah-carey-billboard-600x400.jpg">
</div>
<div class="video">
<img width="600" height="400" src="http://www.radioandmusic.com/sites/www.radioandmusic.com/files/images/entertainment/2015/09/28/rihanna-%2812%29.jpg">
</div>
<div class="video">
<img width="600" height="400" src="http://m.buro247.com.au/thumb/600x960_0/images/640-rihanna-charity1.jpg">
</div>
<div class="video">
<img width="600" height="400" src="http://hjb.hu/wp-content/uploads/2014/02/rihanna2.jpg">
</div>
</div>
<div class="panel">
<div class="widget"></div>
</div>
</div>
垂直或水平调整浏览器大小,可以清楚地看到问题。所以基本上我想把红色封面完全放在图像上。所以我假设我需要一个与图像大小完全相同的 div。 似乎对象拟合做得很好,但正因为如此,我不能放置在红色 div 上。
纯css可以做吗?我应该如何修改dom和css? 非常感谢!
澄清我想要达到的目标是:
【问题讨论】:
-
请遵循以红色弹出的规则并将您的代码发布到问题本身。阅读minimal reproducible example 了解更多信息。
-
您可以使用 JS sn-ps 在您的帖子中包含 Javascript 代码(它是编辑菜单中的图标之一)
-
请edit 你的问题成为主题:包括一个重复问题的minimal reproducible example。寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括:(1) 期望的行为,(2) 特定问题或错误,以及 (3) 在问题本身。另请参阅:What topics can I ask about here? 和 How to Ask。这个问题是关于 JavaScript/HTML/CSS,所以你应该考虑使用snippet。
-
ans777,人们要求您在问题中发布代码,而不是添加链接。
-
我发布了一个答案,尽管仅使用 CSS 远非微不足道,而且如果没有给出纵横比,那么没有脚本的标记实际上是不可能的。所以为了能够改进我的答案,1:是否可以将纵横比添加到标记中? ... 2:你能说出那个封面是干什么用的吗?
标签: html css flexbox responsive object-fit