88 lines
1.7 KiB
CSS
88 lines
1.7 KiB
CSS
.switcher {
|
|
position: relative;
|
|
width: 18rem;
|
|
height: 28px;
|
|
margin: 0;
|
|
}
|
|
|
|
.switcher input {
|
|
position: absolute;
|
|
top: 0;
|
|
inset-inline-start: 0;
|
|
z-index: 2;
|
|
width: 62px;
|
|
height: 28px;
|
|
margin: 0;
|
|
cursor: pointer;
|
|
opacity: 0;
|
|
}
|
|
|
|
.switcher input:checked {
|
|
z-index: 1;
|
|
}
|
|
|
|
.switcher input:checked + label {
|
|
z-index: 0;
|
|
opacity: 1;
|
|
}
|
|
|
|
.switcher input:not(:checked) + label {
|
|
z-index: 3;
|
|
opacity: 0;
|
|
}
|
|
|
|
.switcher input:focus ~ .toggle-outside {
|
|
border-color: var(--focus);
|
|
-webkit-box-shadow: 0 0 0 0.2rem rgba(26, 70, 107, 0.25);
|
|
box-shadow: 0 0 0 0.2rem rgba(26, 70, 107, 0.25);
|
|
}
|
|
|
|
.switcher label {
|
|
position: absolute;
|
|
inset-inline-start: 0;
|
|
display: inline-block;
|
|
width: auto;
|
|
min-width: 6rem;
|
|
height: 100%;
|
|
margin-bottom: 0;
|
|
-webkit-margin-start: 70px;
|
|
margin-inline-start: 70px;
|
|
line-height: 28px;
|
|
text-align: start;
|
|
-webkit-transition: opacity 0.25s ease;
|
|
transition: opacity 0.25s ease;
|
|
}
|
|
|
|
.switcher .toggle-outside {
|
|
position: absolute;
|
|
inset-inline-start: 0;
|
|
-webkit-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
width: 58px;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
background: #d3d3d3;
|
|
border: 1px solid rgba(0, 0, 0, 0.18);
|
|
-webkit-transition: 0.2s ease all;
|
|
transition: 0.2s ease all;
|
|
-webkit-transform: translate3d(0, 0, 0);
|
|
transform: translate3d(0, 0, 0);
|
|
}
|
|
|
|
.switcher input ~ input:checked ~ .toggle-outside {
|
|
background: #2f7d32;
|
|
}
|
|
|
|
.switcher .toggle-inside {
|
|
position: absolute;
|
|
left: 0;
|
|
width: 28px;
|
|
height: 28px;
|
|
background: #fff;
|
|
-webkit-transition: 0.4s ease all;
|
|
transition: 0.4s ease all;
|
|
}
|
|
|
|
.switcher input ~ input:checked ~ .toggle-outside .toggle-inside {
|
|
left: 30px;
|
|
} |