ui-lib/css/functions/checkbox.scss
2023-03-29 17:22:44 +08:00

84 lines
1.9 KiB
SCSS

@import './func.scss';
$boxBorderColor: #999898;
$boxCheckedColor: #1890ff;
$boxDisabledColor: #d9d9d9;
@mixin check-box() {
.check-box-inner {
position: relative;
display: inline-block;
margin-top: 2px;
padding: 0;
width: 14px;
height: 14px;
background-color: #fff;
border: 1px solid $boxBorderColor;
@include user-select(none);
@include border-radius(2px);
@include transition(all .2s);
cursor: pointer;
>svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
fill: #fff;
transform: scale(0);
opacity: 0;
@include 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;
}
}
}
/*
&.disabled {
.check-box-inner {
border-color: $boxDisabledColor;
cursor: default;
}
>input:checked+.check-box-inner {
border-color: $boxDisabledColor;
background-color: $boxDisabledColor;
}
>span {
color: $boxDisabledColor;
cursor: default;
}
}
*/
}