我正在尝试模仿这种技术:
上方有3张不同的图像被裁剪并排列在相同的高度上。
我试图使用CSS蒙版来做到这一点,但我只得到了丑陋的结果。
有什么想法如何使用HTML / CSS实现这一目标吗?
基本概念论证
考虑以下HTML:
<div class="main">
<img src="http://placekitten.com/1500/500">
<div class="lbg">
<img src="http://placekitten.com/750/500">
</div>
<div class="rbg">
<img src="http://placekitten.com/750/700">
</div>
</div>
和以下CSS:
div.main {
width: 600px;
border: 1px dotted blue;
overflow: hidden;
position: relative;
}
div.lbg {
width: 560px;
height: 360px;
position: absolute;
top: 0;
left: 0;
background-color: gray;
border: 10px solid white;
transform: translate(-250px,50px) rotate(45deg);
overflow: hidden;
}
div.rbg {
width: 560px;
height: 360px;
position: absolute;
top: 0;
right: 0;
background-color: gray;
border: 10px solid white;
transform: translate(290px,50px) rotate(-45deg);
overflow: hidden;
}
.main img {
height: 200px;
width: 600px;
display: block;
}
.lbg img {
width: auto;
height: 400px;
display: block;
transform: translate(-0px,-150px) rotate(-45deg);
}
.rbg img {
width: auto;
height: 350px;
display: block;
transform: translate(150px,-80px) rotate(45deg);
}
这个想法是使用来将较宽的主图像放置在父块容器中overflow: hidden
。
在父块内,使用绝对定位将子图像放置在主图像上,然后使用CSS3变换旋转和平移图像以获得所需的效果。
诱使它沿一个方向旋转子块容器,然后反转其子图像上的旋转。
不用说,有一些工作可以使旋转角度和平移偏移恰到好处,但这是可行的。
我并没有做所有的数学运算来确切地得到您所需要的,但这应该可以使您继续前进。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句