Result
画像を三角形に切り取って重ならないように配置
clipプロパティを使わず、吹き出しを作る要領で実装してるようですね
css
.wrap {/*各写真要素を包括*/ transform: rotate(45deg) translate3d(0, 0, 0); display: inline-block; transition: transform 300ms ease-out; width: 100px; } .wrap:hover {/*ホバーエフェクト*/ transition: transform 500ms ease-out; transform: rotate(45deg) translate3d(10px, 10px, 0); } .wrap:nth-child(even) {/*偶数番目の写真を回転させて交互に配置*/ width: 40px; transform: rotate(225deg) translate3d(30px, 120px, 0); } .wrap:nth-child(even) .crop img { transform: skew(-20deg, -20deg) rotate(-225deg); } .wrap:nth-child(even):hover { transform: rotate(225deg) translate3d(40px, 130px, 0); } .crop {/*三角形に切り取る*/ position: relative; width: 160px; height: 160px; margin: 0; display: block; overflow: hidden; transform: skew(20deg, 20deg) translate3d(0, 0, 0); } .crop img {/*三角形に切り取る、その2*/ width: 160px; height: 160px; position: absolute; left: -50%; margin-top: 36px; margin-left: 36px; top: -50%;transform: skew(-20deg, -20deg) rotate(-45deg); opacity: 0.7; transition: opacity 300ms ease-in-out; } .crop img:hover { opacity: 1; }
html
<div class='container'> <div class='wrap'> <div class='crop'> <img src='https://s3.amazonaws.com/uifaces/faces/twitter/brad_frost/128.jpg'> </div> </div> . . . </div>