zent
Version:
一套前端设计语言和基于React的实现
324 lines (323 loc) • 7.61 kB
CSS
.zent-grid {
color: #333;
color: var(--theme-title-color, var(--theme-stroke-1, #333));
font-size: 14px;
position: relative;
line-height: 1.5;
overflow: hidden;
}
.zent-grid.zent-grid-scroll-position-left .zent-grid-fixed-left {
box-shadow: none;
}
.zent-grid.zent-grid-scroll-position-right .zent-grid-fixed-right {
box-shadow: none;
}
.zent-grid-fixed-layout table {
table-layout: fixed;
}
.zent-grid-table {
width: 100%;
text-align: left;
border-collapse: collapse;
border-spacing: 0;
}
.zent-grid-table-ellipsis {
table-layout: fixed;
}
.zent-grid-table-ellipsis .zent-grid-nowrap {
overflow: hidden;
text-overflow: ellipsis;
}
.zent-grid-table-small .zent-grid-td {
padding: 4px 12px;
}
.zent-grid-table-medium .zent-grid-td {
padding: 8px 12px;
}
.zent-grid-table-large .zent-grid-td {
padding: 16px 12px;
}
.zent-grid-bordered table {
border-collapse: collapse;
}
.zent-grid-bordered th,
.zent-grid-bordered td {
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0));
border-width: 1px;
border-style: solid;
border-top: 0;
}
.zent-grid-bordered th:first-child,
.zent-grid-bordered td:first-child {
border-left: 0;
}
.zent-grid-bordered th:last-child,
.zent-grid-bordered td:last-child {
border-right: 0;
}
.zent-grid-without-size tr {
height: 56px;
}
.zent-grid-text-align-left {
text-align: left;
}
.zent-grid-text-align-right {
text-align: right;
}
.zent-grid-text-align-right .zent-grid-thead-sort {
margin-right: 16px;
}
.zent-grid-text-align-center {
text-align: center;
}
.zent-grid-thead .caret-up,
.zent-grid-thead .caret-down {
position: absolute;
left: 6px;
font-size: 12px;
color: #999;
color: var(--theme-hint-color, var(--theme-stroke-3, #999));
}
.zent-grid-thead .caret-up {
top: 0;
}
.zent-grid-thead .caret-down {
bottom: 0;
}
.zent-grid-thead-sort {
position: relative;
}
.zent-grid-thead-sort-btn {
position: relative;
display: flex;
}
.zent-grid-thead-sort-desc, .zent-grid-thead-sort-asc {
cursor: pointer;
}
.zent-grid-thead-sort-desc .caret-down {
color: #155bd4;
color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
}
.zent-grid-thead-sort-asc .caret-up {
color: #155bd4;
color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
}
.zent-grid-thead > tr > th[colspan] {
text-align: center;
}
.zent-grid-fixed {
width: auto;
}
.zent-grid-fixed-left, .zent-grid-fixed-right {
position: absolute;
top: 0;
overflow: hidden;
}
.zent-grid-fixed-left .zent-grid-fixed, .zent-grid-fixed-right .zent-grid-fixed {
border-left: 0;
border-right: 0;
}
.zent-grid-fixed-left table, .zent-grid-fixed-right table {
width: auto;
}
.zent-grid-fixed-left {
left: 0;
box-shadow: 4px 0 8px -4px rgba(0, 0, 0, 0.1);
}
.zent-grid-fixed-left .zent-grid-header .zent-grid-table {
border-right: 0;
}
.zent-grid-fixed-left .zent-grid-body {
margin-right: -20px;
box-sizing: border-box;
margin-bottom: -15px;
overflow: scroll;
}
.zent-grid-fixed-right {
right: 0;
box-shadow: -4px 0 8px -4px rgba(0, 0, 0, 0.1);
}
.zent-grid-fixed-right .zent-grid-header .zent-grid-table {
border-left: 0;
}
.zent-grid-fixed-right .zent-grid-body .zent-grid-table {
border-left: 0;
}
.zent-grid-fixed-right .zent-grid-body {
box-sizing: border-box;
margin-bottom: -15px;
overflow: scroll;
}
.zent-grid-scroll {
overflow: auto;
}
.zent-grid-scroll table {
width: auto;
min-width: 100%;
}
.zent-grid-scroll .zent-grid-header {
overflow-x: scroll;
margin-bottom: -15px;
padding-bottom: 15px;
}
.zent-grid-scroll .zent-grid-body {
position: relative;
}
.zent-grid-empty {
border-bottom-color: #e0e0e0;
border-bottom-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0));
text-align: center;
height: 50px;
line-height: 50px;
border-bottom-width: 1px;
border-bottom-style: solid;
}
.zent-grid-tr {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
display: table-row;
}
.zent-grid-tr:hover, .zent-grid-tr__mouseover {
background-color: #e6efff;
background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff));
}
.zent-grid-tr__expanded td {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
padding: 10px 12px;
word-break: break-all;
}
.zent-grid-tr__disable-highlight:hover {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-grid-th, .zent-grid-td {
border-bottom-color: #e0e0e0;
border-bottom-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0));
font-size: 14px;
display: table-cell;
box-sizing: border-box;
border-bottom-width: 1px;
border-bottom-style: solid;
vertical-align: middle;
overflow-wrap: break-word;
}
.zent-grid-th {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
line-height: 20px;
padding: 8px 12px;
font-weight: 500;
}
.zent-grid-th:first-child {
padding: 8px 12px;
}
.zent-grid-th:last-child {
padding: 8px 12px;
}
.zent-grid-th-break-word {
word-break: break-word;
}
.zent-grid-th.zent-grid-nowrap {
white-space: nowrap;
word-break: keep-all;
}
.zent-grid-th.zent-grid-th-sortable {
position: relative;
cursor: pointer;
}
.zent-grid-th.zent-grid-th-sortable:hover::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.05);
}
.zent-grid-th.zent-grid-th-selection, .zent-grid-td.zent-grid-td-selection, .zent-grid-th.zent-grid-th-expand, .zent-grid-td.zent-grid-td-expand {
padding-right: 0;
}
.zent-grid-td {
line-height: 20px;
position: relative;
}
.zent-grid-td .zent-grid-expandable-btn {
cursor: pointer;
display: inline-block;
width: 16px;
height: 16px;
font-size: 16px;
text-align: center;
-webkit-user-select: none;
user-select: none;
}
.zent-grid-td-multiple-row {
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0));
border-left-width: 1px;
border-right-width: 1px;
border-style: solid;
}
.zent-grid-tfoot {
margin-top: 16px;
overflow: hidden;
}
.zent-grid-tfoot .zent-grid-tfoot-page {
margin-top: 0;
}
.zent-grid-tfoot .zent-grid-batch.zent-grid-batch--fixed {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0));
position: fixed;
left: unset;
z-index: 1;
bottom: 0;
padding-top: 12px;
box-sizing: border-box;
border-top-width: 1px;
border-top-style: solid;
}
.zent-grid-tfoot-page {
margin-top: 10px;
float: right;
}
.zent-grid a {
color: #155bd4;
color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
cursor: pointer;
}
.zent-grid .zent-grid-batch {
padding-left: 12px;
padding-bottom: 12px;
display: flex;
align-items: center;
}
.zent-grid .zent-grid-batch .batch-component {
line-height: 20px;
margin-right: 8px;
}
.zent-grid .zent-grid-batch .batch-component:last-child {
margin-right: 0;
}
.zent-grid .zent-grid-batch__foot {
float: left;
}
.zent-grid-selection-checkbox {
position: absolute;
top: 50%;
transform: translate(0, -50%);
line-height: 1;
font-size: 0;
display: inline-block;
margin-top: -1px;
}
.zent-grid .zent-grid-sticky-header {
overflow-x: scroll;
}
.zent-grid .zent-grid-sticky-header-warp {
position: absolute;
}