ui-lib/css/functions/checkbox.scss

62 lines
1.4 KiB
SCSS

$boxBorderColor: #999898;
$boxCheckedColor: #1890ff;
$boxDisabledColor: #d9d9d9;
@mixin check-box() {
.check-box-inner {
position: relative;
display: inline-block;
padding: 0;
width: 14px;
height: 14px;
background-color: #fff;
border: 1px solid $boxBorderColor;
user-select: none;
border-radius: 2px;
transition: all .2s;
cursor: pointer;
>svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
fill: #fff;
transform: scale(0);
opacity: 0;
transition: all .08s cubic-bezier(.78, .14, .15, .86);
}
}
>input[type="checkbox"] {
display: none;
&:checked+.check-box-inner {
border-color: $boxCheckedColor;
background-color: $boxCheckedColor;
>svg {
transform: scale(1);
opacity: 1;
}
}
&:disabled {
&+.check-box-inner {
border-color: $boxDisabledColor;
cursor: default;
}
&:checked+.check-box-inner {
border-color: $boxDisabledColor;
background-color: $boxDisabledColor;
}
&~span {
color: $boxDisabledColor;
cursor: default;
}
}
}
}