misuzu/assets/misuzu.css/_input/checkbox.css

55 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;
}