#e8e8e8
1.checkbox-wrapper * { 2 -webkit-tap-highlight-color: transparent; 3 outline: none; 4} 5 6.checkbox-wrapper input[type="checkbox"] { 7 display: none; 8} 9 10.checkbox-wrapper label { 11 --size: 50px; 12 --shadow: calc(var(--size) * .07) calc(var(--size) * .1); 13 position: relative; 14 display: block; 15 width: var(--size); 16 height: var(--size); 17 margin: 0 auto; 18 background-color: #4158D0; 19 background-image: linear-gradient(43deg, #4158D0 0%, #C850C0 46%, #FFCC70 100%); 20 border-radius: 50%; 21 box-shadow: 0 var(--shadow) #ffbeb8; 22 cursor: pointer; 23 transition: 0.2s ease transform, 0.2s ease background-color, 24 0.2s ease box-shadow; 25 overflow: hidden; 26 z-index: 1; 27} 28 29.checkbox-wrapper label:before { 30 content: ""; 31 position: absolute; 32 top: 50%; 33 right: 0; 34 left: 0; 35 width: calc(var(--size) * .7); 36 height: calc(var(--size) * .7); 37 margin: 0 auto; 38 background-color: #fff; 39 transform: translateY(-50%); 40 border-radius: 50%; 41 box-shadow: inset 0 var(--shadow) #ffbeb8; 42 transition: 0.2s ease width, 0.2s ease height; 43} 44 45.checkbox-wrapper label:hover:before { 46 width: calc(var(--size) * .55); 47 height: calc(var(--size) * .55); 48 box-shadow: inset 0 var(--shadow) #ff9d96; 49} 50 51.checkbox-wrapper label:active { 52 transform: scale(0.9); 53} 54 55.checkbox-wrapper .tick_mark { 56 position: absolute; 57 top: -1px; 58 right: 0; 59 left: calc(var(--size) * -.05); 60 width: calc(var(--size) * .6); 61 height: calc(var(--size) * .6); 62 margin: 0 auto; 63 margin-left: calc(var(--size) * .14); 64 transform: rotateZ(-40deg); 65} 66 67.checkbox-wrapper .tick_mark:before, 68 .checkbox-wrapper .tick_mark:after { 69 content: ""; 70 position: absolute; 71 background-color: #fff; 72 border-radius: 2px; 73 opacity: 0; 74 transition: 0.2s ease transform, 0.2s ease opacity; 75} 76 77.checkbox-wrapper .tick_mark:before { 78 left: 0; 79 bottom: 0; 80 width: calc(var(--size) * .1); 81 height: calc(var(--size) * .3); 82 box-shadow: -2px 0 5px rgba(0, 0, 0, 0.23); 83 transform: translateY(calc(var(--size) * -.68)); 84} 85 86.checkbox-wrapper .tick_mark:after { 87 left: 0; 88 bottom: 0; 89 width: 100%; 90 height: calc(var(--size) * .1); 91 box-shadow: 0 3px 5px rgba(0, 0, 0, 0.23); 92 transform: translateX(calc(var(--size) * .78)); 93} 94 95.checkbox-wrapper input[type="checkbox"]:checked + label { 96 background-color: #4158D0; 97 background-image: linear-gradient(43deg, #4158D0 0%, #C850C0 46%, #FFCC70 100%); 98 box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px; 99} 100 101.checkbox-wrapper input[type="checkbox"]:checked + label:before { 102 width: 0; 103 height: 0; 104} 105 106.checkbox-wrapper input[type="checkbox"]:checked + label .tick_mark:before, 107 .checkbox-wrapper input[type="checkbox"]:checked + label .tick_mark:after { 108 transform: translate(0); 109 opacity: 1; 110}
Comments
MIT License