スキュー変換を使用する必要があります。上の部分に 1 つの div、下の部分に別の div を適用し、それらを歪ませてから、:before
実際に背景を適用するそれぞれの擬似の歪曲を解除します。
HTML :
<div class='wrap'>
<div class='s'></div>
<div class='s'></div>
</div>
関連するCSS :
.wrap { width: 4em; height: 28em; }
.s {
overflow: hidden;
height: 50%;
transform: skewY(-30deg);
}
.s:before {
display: block;
height: 100%;
transform: skewY(30deg);
content: '';
}
.s:first-child:before {
margin: 2em /* width*sin(abs(skew_angle)) = 4em*sin(30deg) */ 0 0;
background: url(image.jpg) 50% 50%;
}
.s:last-child:before {
margin: -2em /* -width*sin(abs(skew_angle)) */ 0 0;
/* pattern background */
}