这是一个挑战,基本上我有一个带有两侧透明度的图像的CMS,我试图掩盖它们我已经设法让侧面被掩盖,但底部似乎不起作用。这是JS小提琴文件的链接:https://jsfiddle.net/zqvktews/3/
裁剪图像不是一种选择,我有400多个...
HTML
<div class="test">
<img class="inside" src="http://uploads.webflow.com/56f9678288dad33d7bb08de2/58b985d6b807bda0073d7511_255_Fortuna_v.png" alt="">
</div>
CSS
.test{
width: 20%;
background: red;
overflow: hidden;
margin:0px 10px 0px 10px;
display: inline-block;
}
.inside{
width: calc(100% + 20px);
position: relative;
top: -10px;
left: -10px;
}
答案 0 :(得分:0)
我想我得到了一个解决方案,虽然可能很难看:
HTML:
<div class="test">
<div class="inner">
<img class="inside" src="http://uploads.webflow.com/56f9678288dad33d7bb08de2/58b985d6b807bda0073d7511_255_Fortuna_v.png" alt="">
</div>
</div>
CSS:
.test{
width: 20%;
background: red;
overflow: hidden;
margin:0px 10px 0px 10px;
display: inline-block;
}
.inner{
background-image: url("http://uploads.webflow.com/56f9678288dad33d7bb08de2/58b985d6b807bda0073d7511_255_Fortuna_v.png");
display: block;
background-size: calc(100% + 20px);
background-position: -10px -10px;
}
.inside{
width:100%;
visibility:hidden;
}
我在这里做的简短形式:
我用另一个容器包裹原始图像。我没有将图像放大20像素,而是让它看不见(虽然保留了它的预留空间)。内部容器现在获得与背景相同的图像,该背景根据您的要求进行拉伸和移动。
此处可能存在的问题:您的图像不再是图像,尽管您可以通过仅显示透明像素的图像(如果您确实想要保留alt标记)实现相同的效果。这不是严格的完美html,但它可以在屏幕上和html文本阅读器中正确呈现。
答案 1 :(得分:0)
稍微改变一下:
display: block
bottom: -5px
像这样:
.inside{
display: block;
position: relative;
width: calc(100% + 10px);
margin: -10px 0 0 -5px;
bottom: -5px;
}
给我们:
注意:对于此示例,我已重新托管图像,因此链接不会中断。它们现在是jpgs,图像周围有白色间隙,而不是透明。
.test {
width: 20%;
background: red;
overflow: hidden;
margin: 0px 10px 0px 10px;
display: inline-block;
}
.inside {
display: block;
position: relative;
width: calc(100% + 10px);
margin: -10px 0 0 -5px;
bottom: -5px;
}
&#13;
<div class="test">
<img class="inside" src="https://i.stack.imgur.com/j0rVY.jpg" alt="">
</div>
<div class="test">
<img class="inside" src="https://i.stack.imgur.com/j0rVY.jpg" alt="">
</div>
<div class="test">
<img class="inside" src="https://i.stack.imgur.com/j0rVY.jpg" alt="">
</div>
&#13;