<img src="https://picsum.photos/id/593/400/400" alt="tiger" class="tri alt">
<img src="https://picsum.photos/id/177/400/400" alt="a random traveler" class="tri">
@property --r {
syntax: "<length>";
initial-value: 0px;
inherits: true;
}
.tri {
--r: 85px; /* the radius */
width: 300px;
aspect-ratio: 1/cos(30deg);
--_g:calc(tan(60deg)*var(--r)) bottom var(--r),#000 98%,#0000 101%;
-webkit-mask:
conic-gradient(from -30deg at 50% calc(200% - 3*var(--r)/2),#000 60deg,#0000 0)
0 100%/100% calc(100% - 3*var(--r)/2) no-repeat,
radial-gradient(var(--r) at 50% calc(2*var(--r)),#000 98%,#0000 101%),
radial-gradient(var(--r) at left var(--_g)),
radial-gradient(var(--r) at right var(--_g));
clip-path: polygon(50% 0,100% 100%,0 100%);
transition: --r .6s;
cursor: pointer;
}
/* the opposite direction */
.alt {
--_g:calc(tan(60deg)*var(--r)) top var(--r),#000 98%,#0000 101%;
-webkit-mask:
conic-gradient(from 150deg at 50% calc(3*var(--r)/2 - 100%),#000 60deg,#0000 0)
0 0/100% calc(100% - 3*var(--r)/2) no-repeat,
radial-gradient(var(--r) at 50% calc(100% - 2*var(--r)),#000 98%,#0000 101%),
radial-gradient(var(--r) at left var(--_g)),
radial-gradient(var(--r) at right var(--_g));
clip-path: polygon(50% 100%,100% 0,0 0);
}
img:hover {
--r: 10px;
}
img {
object-fit: cover;
}
img + img {
margin-left: -80px;
}
body {
margin: 0;
min-height: 100vh;
display: grid;
place-content: center;
grid-auto-flow: column;
background: radial-gradient(circle,#8A9B0F,#9DE0AD);
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.