fine-true
Version:
A small and beautiful Vue3 version of the UI Library
120 lines (116 loc) • 2.48 kB
text/less
/*
jiangbei
*/
.fine-checkbox {
box-sizing: border-box;
margin: 0;
padding: 0;
color: #000000d9;
font-size: 14px;
font-variant: tabular-nums;
list-style: none;
font-feature-settings: 'tnum';
display: inline-flex;
align-items: baseline;
line-height: unset;
cursor: pointer;
}
.fine-checkbox-checked {
.fine-checkbox-inner {
background-color: #1890ff;
border-color: #1890ff;
}
.fine-checkbox-inner:after {
position: absolute;
display: table;
border: 2px solid #fff;
border-top: 0;
border-left: 0;
transform: rotate(45deg) scale(1) translate(-50%, -50%);
opacity: 1;
transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;
content: ' ';
}
}
.fine-checkbox-indeterminate {
.fine-checkbox-inner:after {
top: 50%;
left: 50%;
width: 8px;
height: 8px;
background-color: #1890ff;
border: 0;
transform: translate(-50%, -50%) scale(1);
opacity: 1;
content: ' ';
}
}
.fine-checkbox-container {
box-sizing: border-box;
margin: 0;
padding: 0;
color: #000000d9;
font-size: 14px;
font-variant: tabular-nums;
line-height: 1.5715;
list-style: none;
font-feature-settings: 'tnum';
position: relative;
top: 0.2em;
line-height: 1;
white-space: nowrap;
outline: none;
cursor: pointer;
}
.fine-checkbox-container + span {
padding-right: 8px;
padding-left: 8px;
}
.fine-checkbox-input {
cursor: pointer;
position: absolute;
inset: 0;
z-index: 1;
width: 100%;
height: 100%;
cursor: pointer;
opacity: 0;
}
.fine-checkbox-inner {
top: 0;
left: 0;
display: block;
width: 16px;
height: 16px;
direction: ltr;
background-color: #fff;
border: 1px solid #d9d9d9;
border-radius: 2px;
border-collapse: separate;
transition: all 0.3s;
}
.fine-checkbox-inner:after {
position: absolute;
top: 50%;
left: 21.5%;
display: table;
width: 5.71428571px;
height: 9.14285714px;
border: 2px solid #fff;
border-top: 0;
border-left: 0;
transform: rotate(45deg) scale(0) translate(-50%, -50%);
opacity: 1;
transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s;
content: ' ';
}
/*disabled*/
.fine-checkbox-disabled {
.fine-checkbox-inner {
background-color: #f5f5f5;
border-color: #d9d9d9;
}
.fine-checkbox-inner:after {
border-color: #bbbbbb;
}
}