img { /* adjust the below to control the 3D effect */ --x:10px; --y:20px; transform:perspective(1000px) rotateX(var(--_a,40deg)); /* */ clip-path:polygon( var(--y) var(--y),calc(100% - var(--y)) var(--y),calc(100% - var(--y)) calc(100% - var(--y)),calc(100% - var(--y) - var(--x)) var(--_c,100%),calc(var(--x) + var(--y)) var(--_c,100%),var(--y) calc(100% - var(--y)) ); outline:var(--y) solid rgba(0,0,0,0.4); outline-offset:calc(-1*var(--y)); padding:var(--y) var(--y) 0 var(--y); transition:1s; } .box:hover img { --_a:0deg; --_c:calc(100% - var(--y)); } /* the below is irrelevant to the 3D effect */ .box { cursor:pointer; } h2 { text-align:center; margin:0; font-size:30px; font-weight:bold; font-family:sans-serif; transform:translateY(250%); transition:.8s; } .box:hover h2 { transform:translateY(0%); transition:.8s .2s; } body { background:#ccc; display:grid; height:100vh; grid-auto-flow:column; place-content:center; gap:40px; }
更新时间:2022-04-05 23:34:00
用纯css实现3d图片效果