这是一款纯CSS八边形图片效果。该纯CSS八边形图片效果可以使用简单的CSS代码,将任意图片制作出不规则的八边形图片,非常实用。
使用方法
HTML代码
<img src="./img/1.jpg" class="_img">
CSS代码
._img { --n: 5; /* the granularity */ --s: 12px; /* control the pixel size */ --w: 280px; /* the image size */ width: calc(round(var(--w),var(--s)) + var(--s)/2); aspect-ratio: 1; --_m:#0000 calc((var(--s)*(var(--n) + .5))/sqrt(2)), #000 0 calc(100% - (var(--s)*(var(--n) + .5))/sqrt(2)), #0000 0; clip-path: polygon( 50% calc(var(--s)*var(--n) - 50%), calc(150% - var(--s)*var(--n)) 50%, 50% calc(150% - var(--s)*var(--n)), calc(var(--s)*var(--n) - 50%) 50%); mask: repeating-conic-gradient(#0000 0 25%,#000 0 50%) 0 0/var(--s) var(--s), linear-gradient(-45deg,var(--_m)) intersect, linear-gradient( 45deg,var(--_m)); } /* if round() is not supported we work with an increment method */ @supports not (opacity:round(1,1)) { ._img { --w: 21; width: calc(var(--w)*var(--s) + .5*var(--s)); } }
codepen网址:https://codepen.io/t_afif/pen/NWmzxQj