zent
Version:
一套前端设计语言和基于React的实现
140 lines (135 loc) • 3.64 kB
CSS
.zent-tree {
color: #333;
color: var(--theme-title-color, var(--theme-stroke-1, #333));
font-size: 14px;
}
.zent-tree ul,
.zent-tree li {
list-style: none;
}
.zent-tree .tree-node-loading-wrapper {
display: inline-block;
position: relative;
vertical-align: middle;
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-tree .tree-node-loading-wrapper .tree-node-loading {
border-color: #155bd4;
border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
display: inline-block;
height: 10px;
width: 10px;
border-radius: 50%;
margin-right: 5px;
border-width: 1px;
border-style: solid;
}
.zent-tree .tree-node-loading-wrapper .tree-node-loading:after {
background: #fff;
background: var(--theme-section-bg, var(--theme-stroke-9, #fff));
content: "";
display: inline-block;
position: absolute;
height: 10px;
width: 4px;
animation: 2s linear zent-ani-spin infinite;
transform-origin: 10px 4px;
left: -1px;
top: 6px;
}
.zent-tree.zent-tree-large {
font-size: 16px;
}
.zent-tree.zent-tree-large .zent-tree-bar .zent-tree-switcher {
font-size: 24px;
}
.zent-tree.zent-tree-small {
font-size: 12px;
}
.zent-tree.zent-tree-small .zent-tree-bar .zent-tree-switcher {
font-size: 16px;
}
.zent-tree.zent-tree-small .zent-tree-bar .zent-tree__switcher-placeholder {
width: 16px;
}
.zent-tree-bar {
position: relative;
display: flex;
cursor: pointer;
padding: 6px 4px;
}
.zent-tree-bar:not(.zent-tree-bar--selected):not(.zent-tree-bar--disabled):hover {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
}
.zent-tree-bar--selected {
background-color: #e6efff;
background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff));
}
.zent-tree-bar--disabled .zent-tree-node {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
cursor: not-allowed;
}
.zent-tree-bar .zent-tree-switcher {
font-size: 20px;
transform: rotate(90deg);
display: flex;
justify-content: center;
align-items: center;
transition: transform 100ms cubic-bezier(0, 0, 0.1, 0.1);
}
.zent-tree-bar .zent-tree__switcher-placeholder {
width: 20px;
}
.zent-tree-bar.zent-tree-bar--off .zent-tree-switcher {
transform: rotate(0deg);
}
.zent-tree-bar .zent-tree-node {
display: inline-block;
line-height: 1.42857143;
margin-left: 4px;
}
.zent-tree-bar .zent-tree-node .zent-tree-content {
margin-left: -4px;
padding: 0 4px;
display: inline-block;
border: 1px solid transparent;
border-radius: 4px;
background-color: transparent;
transition: all 0.3s ease-in-out;
}
.zent-tree-bar .zent-tree-node--one-line {
overflow: hidden;
}
.zent-tree-bar .zent-tree-node--one-line .zent-tree-content {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: block;
width: 100%;
}
.zent-tree-bar .zent-tree-node .zent-tree-operation-container {
display: inline-block;
margin-left: 10px;
opacity: 0;
font-size: 0.8em;
transition: opacity 0.3s ease-in;
color: #333;
color: var(--theme-title-color, var(--theme-stroke-1, #333));
}
.zent-tree-bar .zent-tree-node .zent-tree-operation-container > span.zent-tree-operation:not(:last-of-type) {
border-left-color: #e0e0e0;
border-left-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0));
margin-right: 8px;
padding-right: 8px;
border-left-width: 2px;
border-left-style: solid;
}
.zent-tree-bar:hover .zent-tree-node .zent-tree-operation-container {
opacity: 1;
}
.zent-tree-child {
overflow: hidden;
}