1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| .hangb {
--s: 1.5em; /* control the size */
--c: #888; /* the color */
height: var(--s);
aspect-ratio: 1;
border: none;
padding: 0;
border-inline: calc(var(--s)/2) solid #0000;
box-sizing: content-box;
--_g1: linear-gradient(var(--c) 20%,#0000 0 80%,var(--c) 0)
no-repeat content-box border-box;
--_g2: radial-gradient(circle closest-side at 50% 12.5%,var(--c) 95%,#0000)
repeat-y content-box border-box;
background:
var(--_g2) left var(--_p,0px) top,
var(--_g1) left calc(var(--s)/10 + var(--_p,0px)) top,
var(--_g2) right var(--_p,0px) top,
var(--_g1) right calc(var(--s)/10 + var(--_p,0px)) top;
background-size:
20% 80%,
40% 100%;
position: relative;
clip-path: inset(0 25%);
-webkit-mask: linear-gradient(90deg,#0000,#000 25% 75%,#0000);
cursor: pointer;
transition:
background-position .3s var(--_s,.3s),
clip-path 0s var(--_s,.6s);
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
}
.hangb:hover{
color: #069; -> ma modif qui marche pas
}
.hangb:before,
.hangb:after {
content:"";
position: absolute;
border-radius: var(--s);
inset: 40% 0;
background: var(--c);
transition: transform .3s calc(.3s - var(--_s,.3s));
}
.hangb:checked {
clip-path: inset(0);
--_p: calc(-1*var(--s));
--_s: 0s;
}
.hangb:checked:before {
transform: rotate(45deg);
}
.hangb:checked:after {
transform: rotate(-45deg);
}
.hangb:focus-visible {
clip-path: none;
-webkit-mask: none;
border: none;
outline: 2px solid var(--c);
outline-offset: 5px;
} |
Partager