纯CSS八边形图片效果

当前位置:主页 > CSS3库 > CSS3动画 > 纯CSS八边形图片效果
纯CSS八边形图片效果
分享:

    插件介绍

    这是一款纯CSS八边形图片效果。该纯CSS八边形图片效果可以使用简单的CSS代码,将任意图片制作出不规则的八边形图片,非常实用。

    浏览器兼容性

    浏览器兼容性
    时间:04-24
    阅读:
简要教程

这是一款纯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