zent
Version:
一套前端设计语言和基于React的实现
150 lines (143 loc) • 5.12 kB
CSS
.zent-checkbox-group {
display: inline-block;
font-size: 0;
}
.zent-checkbox-group > :not(.zent-checkbox-wrap) {
font-size: 14px;
line-height: 20px;
}
.zent-checkbox-wrap {
display: inline-block;
cursor: pointer;
font-size: 0;
margin: 0;
padding: 0;
margin-right: 24px;
vertical-align: middle;
}
.zent-checkbox-wrap.zent-checkbox-disabled {
cursor: not-allowed;
}
.zent-checkbox-wrap:last-child {
margin-right: 0;
}
.zent-checkbox-wrap:not(.zent-checkbox-disabled):hover .zent-checkbox-inner {
border-color: #155bd4;
border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
}
.zent-checkbox {
position: relative;
display: inline-block;
width: 16px;
height: 16px;
white-space: nowrap;
outline: none;
vertical-align: middle;
font-size: 14px;
line-height: 1;
margin: 0;
padding: 0;
}
.zent-checkbox > input {
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 0;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
z-index: 1;
opacity: 0;
cursor: pointer;
}
.zent-checkbox-label {
font-size: 14px;
line-height: 20px;
font-weight: 400;
margin-left: 8px;
display: inline-block;
vertical-align: middle;
}
.zent-checkbox-inner {
border-color: #ccc;
border-color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
position: relative;
top: 0;
left: 0;
display: inline-block;
width: 16px;
height: 16px;
border-radius: 2px;
border-width: 1px;
border-style: solid;
box-sizing: border-box;
transition: all 0.3s;
}
.zent-checkbox-inner::after {
box-sizing: content-box;
position: absolute;
display: block;
content: " ";
font-size: 0;
top: 3px;
left: 2px;
width: 10px;
height: 8px;
background-size: contain;
transform: scale(0);
transition: all 0.12s ease-in-out;
}
.zent-checkbox-checked > .zent-checkbox > .zent-checkbox-inner {
border-color: #155bd4;
border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
background-color: #155bd4;
background-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
}
.zent-checkbox-checked > .zent-checkbox > .zent-checkbox-inner::after {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAABGdBTUEAALGPC/xhBQAAASxJREFUOBGlkr9LQlEUx01Di1pCCKQhkAZxaMs/oFnwD3Bwqcmh0cnB0ak5HBwdHNyT5sDFIUIQxMXBQWgIIjB7fa7c+zjvvnfR9MCH8+t7vtOJxfYMz/OyMIIniB/u44dBhvs+ZCEHX7BbYHYGbyBjtpMbDifwKp2ol1D8tyFHSXgGGb805YAZg+PAIKJBE4cu2FH15WyOoA8fUPAXEQX7FthRD0jZdoRiQZ0PCHTDvCl0pnwMadlMzFbnGflSCulrlka1bTiQunXN8AY+QcaY5lwJyPdyoeseOREyMwOWt/CtxSYNKe5gZQY6v5BT5taZEZXgRx+50oDFqdPEXiCugPqpqHhnmLZvNvYcPUS4TZldbDx2CThuCNM59ZVLu/UcE/V36qWutz5C+AfE+OIwPOZePgAAAABJRU5ErkJggg==");
transform: scale(1);
}
.zent-checkbox-indeterminate > .zent-checkbox > .zent-checkbox-inner {
border-color: #155bd4;
border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-checkbox-indeterminate > .zent-checkbox > .zent-checkbox-inner::after {
background-color: #155bd4;
background-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
top: 6px;
left: 2px;
width: 10px;
height: 2px;
border: 0;
transform: rotate(0deg);
}
.zent-checkbox-disabled > span {
color: #999;
color: var(--theme-hint-color, var(--theme-stroke-3, #999));
}
.zent-checkbox-disabled > .zent-checkbox > .zent-checkbox-inner {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
}
.zent-checkbox-disabled > .zent-checkbox > input[type=checkbox] {
pointer-events: none;
}
.zent-checkbox-disabled.zent-checkbox-checked > .zent-checkbox > .zent-checkbox-inner:after {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAABGdBTUEAALGPC/xhBQAAAeJJREFUOBGlkz9I5FAQxmcSWU9UEIU9xDXJZg+EKywsDmt1GxubK2wEEbG7QkSwsRAEDxu5QrirlANLUUEEFexsrKy8xuTlDyxrcd15orubcd5Ckqeo6BpI5sv3vvzI5E0A3nkEQVBwhPfnUvi/iEjD9/A8z+uuEZ4yKC85iLCmNwoMw7CzWoMTAupLGdjbELBcLrfe3FUOGTSgwKqow4SWGq9T3F7m+v/tDhAMxk8gIqFGkwXT3E+A3EJLHHiuMkx3RbDFbRbVDPO+FSxrS3qaEPTBcf3ju2qt5IbhFzX4WDsi+Mmwr4/8Rduy1mNPi8Df4NAIEXRE1ejA9/3P8aJaXc9fBaBp1ZO7+sm2llVPI8D0rYi6KhEcuW7JVEOO8BeiiOZVj7/bpm2Zc6ontYY6jvME/UsWiHoIKsfu1dVH6fHAzvC3W0nWpUDYtS1jWm7GA7++xJdLzxuCCA5YNscBbuecz3UirP8BqY8nDBtl2G3sqTX5U4QIxiKgbbmTakDVCHjW3tYynM1m047UAOtkbPJ5Y48bmHqqjfoziBfNGX30JZjMJUB5Y9vmby6zUqsHt+5ldCzmcrm/qv+UfgCUgULe/MFvuRSHGVbONOlFwzBKsddQ5VH5zjvs8LD3vwVwD3vnuDdo0l19AAAAAElFTkSuQmCC");
}
.zent-checkbox-disabled.zent-checkbox-indeterminate > .zent-checkbox > .zent-checkbox-inner::after {
background-color: #e0e0e0;
background-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
}
.zent-checkbox-disabled .zent-checkbox-label {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}