56 lines
1.5 KiB
CSS
56 lines
1.5 KiB
CSS
|
.input__checkbox {
|
||
|
display: inline-flex;
|
||
|
margin: 1px 0;
|
||
|
overflow: hidden;
|
||
|
}
|
||
|
.input__checkbox:not(.input__checkbox--disabled) {
|
||
|
cursor: pointer;
|
||
|
}
|
||
|
.input__checkbox--radio .input__checkbox__display,
|
||
|
.input__checkbox--radio .input__checkbox__display__icon {
|
||
|
border-radius: 100%;
|
||
|
}
|
||
|
.input__checkbox__input {
|
||
|
display: inline-block;
|
||
|
position: absolute;
|
||
|
z-index: -1000;
|
||
|
top: -100%;
|
||
|
}
|
||
|
.input__checkbox__display {
|
||
|
display: inline-block;
|
||
|
width: 20px;
|
||
|
height: 20px;
|
||
|
border: 1px solid #222;
|
||
|
background: #222;
|
||
|
color: #fff;
|
||
|
border-radius: 2px;
|
||
|
box-shadow: inset 0 0 4px #111;
|
||
|
transition: border-color .2s;
|
||
|
}
|
||
|
.input__checkbox__display__icon {
|
||
|
background-color: var(--accent-colour);
|
||
|
background-size: 28px 28px;
|
||
|
background-image: radial-gradient(ellipse at center, rgba(255, 255, 255, .2) 0%, rgba(0, 0, 0, .4) 100%);
|
||
|
box-shadow: 0 0 2px #111;
|
||
|
border-radius: 2px;
|
||
|
margin: 2px;
|
||
|
width: 14px;
|
||
|
height: 14px;
|
||
|
opacity: 0;
|
||
|
transition: opacity .2s;
|
||
|
}
|
||
|
.input__checkbox__input:checked ~ .input__checkbox__display .input__checkbox__display__icon {
|
||
|
opacity: 1;
|
||
|
}
|
||
|
.input__checkbox:not(.input__checkbox--disabled):hover .input__checkbox__display,
|
||
|
.input__checkbox:not(.input__checkbox--disabled) .input__checkbox__input:focus ~ .input__checkbox__display {
|
||
|
border-color: var(--accent-colour);
|
||
|
}
|
||
|
.input__checkbox__text {
|
||
|
display: inline-block;
|
||
|
margin-left: 4px;
|
||
|
}
|
||
|
.input__checkbox--disabled {
|
||
|
opacity: .5;
|
||
|
}
|