1
0
mirror of synced 2025-12-09 07:08:22 +08:00
Files
vxe-table/styles/table.scss
2024-05-08 16:01:04 +08:00

1420 lines
33 KiB
SCSS

/**Variable**/
@import './helpers/mixin.scss';
@import './base/common.scss';
@import './loading.scss';
%DefaultColumnHeight {
height: var(--vxe-table-row-height-default);
}
%MediumColumnHeight {
height: var(--vxe-table-row-height-medium);
}
%SmallColumnHeight {
height: var(--vxe-table-row-height-small);
}
%MiniColumnHeight {
height: var(--vxe-table-row-height-mini);
}
.vxe-table-slots,
.vxe-table--file-form {
display: none;
}
.vxe-table--print-frame {
position: fixed;
bottom: -100%;
left: -100%;
height: 0;
width: 0;
border: 0;
}
.vxe-table--render-wrapper {
background-color: var(--vxe-table-body-background-color);
}
.vxe-table--body-wrapper {
scroll-behavior: auto;
}
.vxe-table--body-wrapper,
.vxe-table--fixed-left-body-wrapper,
.vxe-table--fixed-right-body-wrapper {
overflow-y: auto;
overflow-x: auto;
}
/*默认的渲染*/
.vxe-cell,
.vxe-table--filter-wrapper {
.vxe-default-input,
.vxe-default-textarea {
background-color: var(--vxe-table-body-background-color);
}
.vxe-default-input,
.vxe-default-textarea,
.vxe-default-select {
outline: 0;
padding: 0 2px;
width: 100%;
color: var(--vxe-font-color);
border-radius: var(--vxe-border-radius);
border: 1px solid var(--vxe-input-border-color);
&:focus {
border: 1px solid var(--vxe-primary-color);
}
&[disabled] {
cursor: not-allowed;
background-color: var(--vxe-input-disabled-background-color);
}
}
.vxe-default-input,
.vxe-default-textarea,
.vxe-default-select {
height: var(--vxe-input-height-default);
}
.vxe-default-input {
&[type="date"]::-webkit-inner-spin-button {
margin-top: 4px;
}
&[type="date"]::-webkit-inner-spin-button,
&[type="number"]::-webkit-inner-spin-button {
height: 24px;
}
&::placeholder {
color: var(--vxe-input-placeholder-color);
}
}
.vxe-default-textarea {
resize: none;
vertical-align: middle;
}
.vxe-input,
.vxe-textarea,
.vxe-select {
width: 100%;
display: block;
}
.vxe-input > .vxe-input--inner,
.vxe-textarea > .vxe-textarea--inner {
padding: 0 2px;
}
.vxe-textarea--inner,
.vxe-default-textarea {
resize: none;
}
}
.vxe-table--checkbox-range,
.vxe-table--cell-main-area,
.vxe-table--cell-extend-area,
.vxe-table--cell-active-area,
.vxe-table--cell-copy-area {
display: none;
position: absolute;
pointer-events: none;
z-index: 1;
}
.vxe-table--fixed-left-wrapper,
.vxe-table--fixed-right-wrapper {
.vxe-table--checkbox-range,
.vxe-table--cell-main-area,
.vxe-table--cell-extend-area,
.vxe-table--cell-active-area,
.vxe-table--cell-copy-area {
z-index: 2;
}
}
.vxe-table--fixed-left-wrapper {
.vxe-table--cell-main-area,
.vxe-table--cell-extend-area,
.vxe-table--cell-active-area {
&[half="1"] {
border-right: 0;
}
}
.vxe-table--cell-copy-area {
&[half="1"] {
background-size: var(--vxe-table-cell-copy-area-border-width) 12px, 0 12px, 12px var(--vxe-table-cell-copy-area-border-width), 12px var(--vxe-table-cell-copy-area-border-width);
}
}
}
.vxe-table--fixed-right-wrapper {
.vxe-table--cell-main-area,
.vxe-table--cell-extend-area,
.vxe-table--cell-active-area {
&[half="1"] {
border-left: 0;
}
}
.vxe-table--cell-copy-area {
&[half="1"] {
background-size: 0 12px, var(--vxe-table-cell-copy-area-border-width) 12px, 12px var(--vxe-table-cell-copy-area-border-width), 12px var(--vxe-table-cell-copy-area-border-width);
}
}
}
/*复选框-范围选择*/
.vxe-table--checkbox-range {
background-color: var(--vxe-table-checkbox-range-background-color);
border: var(--vxe-table-checkbox-range-border-width) solid var(--vxe-table-checkbox-range-border-color);
}
.vxe-table--cell-area {
height: 0;
font-size: 0;
display: none;
& > .vxe-table--cell-main-area {
background-color: var(--vxe-table-cell-area-background-color);
border: var(--vxe-table-cell-area-border-width) solid var(--vxe-table-cell-area-border-color);
}
.vxe-table--cell-main-area-btn {
display: none;
position: absolute;
right: -1px;
bottom: -1px;
width: 7px;
height: 7px;
border-style: solid;
border-color: var(--vxe-table-cell-main-area-extension-border-color);
border-width: 1px 0 0 1px;
background-color: var(--vxe-table-cell-main-area-extension-background-color);
pointer-events: auto;
cursor: crosshair;
}
.vxe-table--cell-extend-area {
border: var(--vxe-table-cell-extend-area-border-width) solid var(--vxe-table-cell-extend-area-border-color);
}
}
@keyframes moveCopyCellBorder {
from {
}
to {
background-position: 0 -12px, 100% 12px, 12px 0, -12px 100%;
}
}
.vxe-table--cell-copy-area {
background: linear-gradient(0deg, transparent 6px, var(--vxe-table-cell-copy-area-border-color) 6px) repeat-y,
linear-gradient(0deg, transparent 50%, var(--vxe-table-cell-copy-area-border-color) 0) repeat-y,
linear-gradient(90deg, transparent 50%, var(--vxe-table-cell-copy-area-border-color) 0) repeat-x,
linear-gradient(90deg, transparent 50%, var(--vxe-table-cell-copy-area-border-color) 0) repeat-x;
background-size: var(--vxe-table-cell-copy-area-border-width) 12px, var(--vxe-table-cell-copy-area-border-width) 12px, 12px var(--vxe-table-cell-copy-area-border-width), 12px var(--vxe-table-cell-copy-area-border-width);
background-position: 0 0, 100% 0, 0 0, 0 100%;
animation: moveCopyCellBorder .5s infinite linear;
}
.vxe-table--cell-active-area {
border: var(--vxe-table-cell-active-area-border-width) solid var(--vxe-table-cell-active-area-border-color);
}
.vxe-table--cell-multi-area {
& > .vxe-table--cell-main-area {
background-color: var(--vxe-table-cell-area-background-color);
}
}
/*圆角*/
.vxe-table--render-default {
&.is--round {
%AllRadius {
border-radius: var(--vxe-table-border-radius);
}
%TopRadius {
border-radius: var(--vxe-table-border-radius) var(--vxe-table-border-radius) 0 0;
}
%TopLeftRadius {
border-radius: var(--vxe-table-border-radius) 0 0 0;
}
%TopRightRadius {
border-radius: 0 var(--vxe-table-border-radius) 0 0;
}
%BottomRadius {
border-radius: 0 0 var(--vxe-table-border-radius) var(--vxe-table-border-radius);
}
%BottomLeftRadius {
border-radius: 0 0 0 var(--vxe-table-border-radius);
}
%BottomRightRadius {
border-radius: 0 0 var(--vxe-table-border-radius) 0;
}
@extend %AllRadius;
.vxe-table--border-line {
@extend %AllRadius;
}
&.is--header {
&:not(.is--footer) {
.vxe-table--body-wrapper {
&.fixed-left--wrapper {
@extend %BottomLeftRadius;
}
&.body--wrapper {
@extend %BottomRadius;
}
&.fixed-right--wrapper {
@extend %BottomRightRadius;
}
}
}
.vxe-table--header-wrapper {
&.fixed-left--wrapper {
@extend %TopLeftRadius;
}
&.body--wrapper {
@extend %TopRadius;
}
&.fixed-right--wrapper {
@extend %TopRightRadius;
}
}
}
&:not(.is--header) {
&:not(.is--footer) {
.vxe-table--body-wrapper {
&.body--wrapper {
@extend %AllRadius;
}
}
}
}
&.is--footer {
&:not(.is--header) {
.vxe-table--body-wrapper {
&.fixed-left--wrapper {
@extend %BottomLeftRadius;
}
&.body--wrapper {
@extend %TopRadius;
}
&.fixed-right--wrapper {
@extend %BottomRightRadius;
}
}
}
.vxe-table--footer-wrapper {
&.fixed-left--wrapper {
@extend %BottomLeftRadius;
}
&.body--wrapper {
@extend %BottomRadius;
}
&.fixed-right--wrapper {
@extend %BottomRightRadius;
}
}
}
}
}
/*header*/
.vxe-table {
.vxe-table--header-wrapper {
color: var(--vxe-table-header-font-color);
.vxe-table--header-border-line {
position: absolute;
left: 0;
bottom: 0;
height: 0;
border-bottom: var(--vxe-table-border-width) solid var(--vxe-table-border-color);
}
}
/*排序*/
.vxe-cell--sort {
text-align: center;
position: relative;
padding: 0 0.1em 0 0.2em;
}
.vxe-cell--sort-vertical-layout {
display: inline-flex;
flex-direction: column;
height: 1.8em;
vertical-align: middle;
.vxe-sort--asc-btn,
.vxe-sort--desc-btn {
height: 0.6em;
}
}
.vxe-cell--sort-horizontal-layout {
display: inline-flex;
flex-direction: row;
.vxe-sort--asc-btn,
.vxe-sort--desc-btn {
width: 0.5em;
}
}
.vxe-sort--asc-btn,
.vxe-sort--desc-btn {
color: var(--vxe-table-column-icon-border-color);
cursor: pointer;
&:hover {
color: var(--vxe-font-color);
}
&.sort--active {
color: var(--vxe-primary-color);
}
}
}
.vxe-header--column {
position: relative;
font-weight: var(--vxe-table-header-font-weight);
// user-select: none;
&.col--ellipsis {
& > .vxe-cell {
display: flex;
align-items: center;
.vxe-cell--title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
& > i,
& > span {
&:not(.vxe-cell--title) {
flex-shrink: 0;
}
}
}
}
.vxe-cell--required-icon {
display: inline-block;
color: var(--vxe-table-validate-error-color);
width: 0.8em;
height: 1em;
line-height: 1em;
font-family: var(--vxe-icon-font-family);
font-weight: normal;
position: relative;
&:before {
content: "*";
position: absolute;
left: 0;
top: 0.2em;
}
}
// .vxe-cell--required-icon,
// .vxe-cell--edit-icon,
// .vxe-cell-title-prefix-icon,
// .vxe-cell-title-suffix-icon,
// .vxe-cell--title {
// vertical-align: middle;
// }
.vxe-cell--required-icon {
margin-right: 0.1em;
}
.vxe-cell--edit-icon,
.vxe-cell-title-prefix-icon,
.vxe-cell-title-suffix-icon {
margin-right: 0.2em;
}
.vxe-cell-title-prefix-icon,
.vxe-cell-title-suffix-icon {
cursor: help;
}
.vxe-resizable {
position: absolute;
right: -7px;
bottom: 0;
width: 14px;
height: 100%;
text-align: center;
z-index: 1;
cursor: col-resize;
&.is--line {
&:before,
&:after {
content: "";
display: inline-block;
vertical-align: middle;
}
&:before {
width: 1px;
height: 50%;
background-color: var(--vxe-table-resizable-line-color);
}
&:after {
width: 0;
height: 100%;
}
}
}
}
.vxe-table--fixed-right-wrapper {
.vxe-header--column {
.vxe-resizable {
right: auto;
left: -7px;
}
}
}
/*table*/
.vxe-table--render-default {
position: relative;
font-size: var(--vxe-font-size);
color: var(--vxe-font-color);
font-family: var(--vxe-font-family);
direction: ltr;
.vxe-table--body-wrapper {
table {
background-color: var(--vxe-table-body-background-color);
}
}
.vxe-table--footer-wrapper {
table {
background-color: var(--vxe-table-footer-background-color);
}
}
.vxe-table--header,
.vxe-table--body,
.vxe-table--footer {
border: 0;
border-spacing: 0;
border-collapse: separate;
table-layout: fixed;
}
.vxe-table--header-wrapper,
.vxe-table--footer-wrapper {
overflow-x: hidden;
overflow-y: hidden;
}
&:not(.is--empty) {
&.is--footer {
&.is--scroll-x {
.vxe-table--body-wrapper {
overflow-x: scroll;
}
}
}
}
.vxe-body--row {
&.row--stripe {
background-color: var(--vxe-table-row-striped-background-color);
}
&.row--radio {
background-color: var(--vxe-table-row-radio-checked-background-color);
}
&.row--checked {
background-color: var(--vxe-table-row-checkbox-checked-background-color);
}
&.row--current {
background-color: var(--vxe-table-row-current-background-color);
}
&.row--hover {
background-color: var(--vxe-table-row-hover-background-color);
&.row--stripe {
background-color: var(--vxe-table-row-hover-striped-background-color);
}
&.row--radio {
background-color: var(--vxe-table-row-hover-radio-checked-background-color);
}
&.row--checked {
background-color: var(--vxe-table-row-hover-checkbox-checked-background-color);
}
&.row--current {
background-color: var(--vxe-table-row-hover-current-background-color);
}
}
}
// &.is--tree-line {
// .vxe-body--row {
// &.row--stripe {
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-row-striped-background-color);
// }
// }
// &.row--radio {
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-row-radio-checked-background-color);
// }
// }
// &.row--checked {
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-row-checkbox-checked-background-color);
// }
// }
// &.row--current {
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-row-current-background-color);
// }
// }
// &.row--hover {
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-row-hover-background-color);
// }
// &.row--stripe {
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-row-hover-striped-background-color);
// }
// }
// &.row--radio {
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-row-hover-radio-checked-background-color);
// }
// }
// &.row--checked {
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-row-hover-checkbox-checked-background-color);
// }
// }
// &.row--current {
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-row-hover-current-background-color);
// }
// }
// }
// }
// }
&.drag--resize {
.vxe-table--main-wrapper,
.vxe-table--fixed-left-wrapper,
.vxe-table--fixed-right-wrapper {
* {
cursor: col-resize;
}
}
}
&.drag--range,
&.drag--area {
.vxe-table--main-wrapper,
.vxe-table--fixed-left-wrapper,
.vxe-table--fixed-right-wrapper {
* {
cursor: default;
}
}
}
&.drag--extend-range {
.vxe-table--main-wrapper,
.vxe-table--fixed-left-wrapper,
.vxe-table--fixed-right-wrapper {
* {
cursor: crosshair;
}
}
}
&.column--highlight {
.vxe-header--column {
&:not(.col--seq) {
&:hover {
background-color: var(--vxe-table-column-hover-background-color);
}
}
}
}
&.cell--area {
.vxe-table--main-wrapper {
user-select: none;
}
}
&.drag--range {
.vxe-cell--checkbox {
user-select: none;
}
}
.vxe-header--column,
.vxe-body--column,
.vxe-footer--column {
position: relative;
line-height: var(--vxe-table-row-line-height);
text-align: left;
&:not(.col--ellipsis) {
padding: var(--vxe-table-column-padding-default);
}
&.col--current {
background-color: var(--vxe-table-column-current-background-color);
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-column-current-background-color);
// }
}
&.col--center {
text-align: center;
}
&.col--right {
text-align: right;
}
}
// &.is--tree-line {
// .vxe-header--column,
// .vxe-body--column,
// .vxe-footer--column {
// &.col--current {
// .vxe-tree--btn-wrapper {
// background-color: var(--vxe-table-column-current-background-color);
// }
// }
// }
// }
.vxe-header--column,
.vxe-footer--column {
&.col--ellipsis {
&.col--center {
.vxe-cell{
justify-content: center;
}
}
&.col--right {
.vxe-cell{
justify-content: flex-end;
}
}
}
}
/*边框*/
.vxe-table--footer-wrapper {
border-top: var(--vxe-table-border-width) solid var(--vxe-table-border-color);
}
&.border--default,
&.border--full,
&.border--outer {
.vxe-table--header-wrapper {
background-color: var(--vxe-table-header-background-color);
}
}
&.border--default,
&.border--inner {
.vxe-header--column,
.vxe-body--column,
.vxe-footer--column {
background-image: linear-gradient(var(--vxe-table-border-color), var(--vxe-table-border-color));
background-repeat: no-repeat;
background-size: 100% var(--vxe-table-border-width);
background-position: right bottom;
}
}
&.border--full {
.vxe-header--column,
.vxe-body--column,
.vxe-footer--column {
background-image: linear-gradient(var(--vxe-table-border-color), var(--vxe-table-border-color)), linear-gradient(var(--vxe-table-border-color), var(--vxe-table-border-color));
background-repeat: no-repeat;
background-size: var(--vxe-table-border-width) 100%, 100% var(--vxe-table-border-width);
background-position: right top, right bottom;
}
.vxe-table--fixed-left-wrapper {
// border-right: 1px solid var(--vxe-table-border-color);
.vxe-body--column{
border-right-color: var(--vxe-table-border-color);
}
}
}
&.border--default,
&.border--full,
&.border--outer,
&.border--inner {
.vxe-table--header-wrapper {
.vxe-header--row {
&:last-child {
.vxe-header--gutter {
background-image: linear-gradient(var(--vxe-table-border-color), var(--vxe-table-border-color));
background-repeat: no-repeat;
background-size: 100% var(--vxe-table-border-width);
background-position: right bottom;
}
}
}
}
}
&.border--inner,
&.border--none {
.vxe-table--header-wrapper {
background-color: var(--vxe-table-header-background-color);
}
.vxe-table--fixed-left-wrapper {
border-right: 0;
}
}
&.border--inner {
.vxe-table--border-line {
border-width: 0 0 1px 0;
}
}
&.border--none {
.vxe-table--border-line {
display: none;
}
.vxe-table--header-border-line {
display: none;
}
}
&.size--medium {
font-size: var(--vxe-font-size-medium);
.vxe-table--empty-placeholder,
.vxe-table--empty-block {
min-height: var(--vxe-table-row-height-medium);
}
.vxe-header--column,
.vxe-body--column,
.vxe-footer--column {
&:not(.col--ellipsis) {
padding: var(--vxe-table-column-padding-medium);
}
}
.vxe-cell {
.vxe-default-input,
.vxe-default-textarea,
.vxe-default-select {
height: var(--vxe-input-height-medium);
}
.vxe-default-input {
&[type="date"]::-webkit-inner-spin-button {
margin-top: 3px;
}
}
}
}
&.size--small {
font-size: var(--vxe-font-size-small);
.vxe-table--empty-placeholder,
.vxe-table--empty-block {
min-height: var(--vxe-table-row-height-small);
}
.vxe-header--column,
.vxe-body--column,
.vxe-footer--column {
&:not(.col--ellipsis) {
padding: var(--vxe-table-column-padding-small);
}
}
.vxe-cell {
.vxe-default-input,
.vxe-default-textarea,
.vxe-default-select {
height: var(--vxe-input-height-small);
}
.vxe-default-input {
&[type="date"]::-webkit-inner-spin-button {
margin-top: 2px;
}
}
}
}
&.size--mini {
font-size: var(--vxe-font-size-mini);
.vxe-table--empty-placeholder,
.vxe-table--empty-block {
min-height: var(--vxe-table-row-height-mini);
}
.vxe-header--column,
.vxe-body--column,
.vxe-footer--column {
&:not(.col--ellipsis) {
padding: var(--vxe-table-column-padding-mini);
}
}
.vxe-cell {
.vxe-default-input,
.vxe-default-textarea,
.vxe-default-select {
height: var(--vxe-input-height-mini);
}
.vxe-default-input {
&[type="date"]::-webkit-inner-spin-button {
margin-top: 1px;
}
}
}
}
.vxe-cell {
white-space: pre-line;
word-break: break-all;
padding-left: var(--vxe-table-cell-padding-left);
padding-right: var(--vxe-table-cell-padding-right);
}
// 单元格占位符
.vxe-cell--placeholder {
color: var(--vxe-table-cell-placeholder-color);
}
// 单选框和复选框
.vxe-cell--radio {
@include createRadioIcon();
}
.vxe-cell--checkbox {
@include createCheckboxIcon();
}
.fixed--hidden {
visibility: hidden;
}
.vxe-table--fixed-left-wrapper,
.vxe-table--fixed-right-wrapper {
width: 100%;
position: absolute;
top: 0;
z-index: 5;
overflow: hidden;
background-color: inherit;
transition: 0.3s box-shadow;
.vxe-table--body-wrapper {
overflow-x: hidden;
}
}
.vxe-table--fixed-left-wrapper {
.vxe-table--body-wrapper {
width: calc(100% + 40px);
}
}
&.is--header {
.vxe-table--fixed-left-wrapper,
.vxe-table--fixed-right-wrapper {
.vxe-table--body-wrapper {
&:before {
display: none;
}
}
}
}
.vxe-table--fixed-left-wrapper {
left: 0;
width: 200px;
&.scrolling--middle {
box-shadow: var(--vxe-table-fixed-left-scrolling-box-shadow);
}
}
.vxe-table--fixed-right-wrapper {
right: 0;
&.scrolling--middle {
box-shadow: var(--vxe-table-fixed-right-scrolling-box-shadow);
}
}
.vxe-table--header-wrapper,
.vxe-table--body-wrapper,
.vxe-table--footer-wrapper {
position: relative;
&.fixed-left--wrapper,
&.fixed-right--wrapper {
position: absolute;
top: 0;
}
&.fixed-left--wrapper {
left: 0;
}
&.fixed-right--wrapper {
right: 0;
overflow-y: auto;
}
}
.vxe-body--x-space {
width: 100%;
height: 1px;
margin-bottom: -1px;
}
.vxe-body--y-space {
width: 0;
float: left;
}
/*列宽线*/
.vxe-table--resizable-bar {
display: none;
position: absolute;
top: 0;
left: 0;
width: 1px;
height: 100%;
z-index: 9;
cursor: col-resize;
&:before {
content: "";
display: block;
height: 100%;
background-color: var(--vxe-table-resizable-drag-line-color);
}
}
/*边框线*/
.vxe-table--border-line {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 10;
pointer-events: none;
border: var(--vxe-table-border-width) solid var(--vxe-table-border-color);
}
/*树形节点*/
// &.is--tree-line {
// .vxe-body--row {
// &:first-child {
// .vxe-tree--line {
// border-width: 0 0 1px 0;
// }
// }
// }
// .vxe-body--row {
// .vxe-body--column {
// background-image: none;
// }
// }
// }
.vxe-tree--line-wrapper {
position: relative;
display: block;
height: 0;
}
.vxe-tree--line {
content: "";
position: absolute;
bottom: -0.9em;
width: 0.8em;
border-width: 0 0 1px 1px;
border-style: var(--vxe-table-tree-node-line-style);
border-color: var(--vxe-table-tree-node-line-color);
pointer-events: none;
}
.vxe-cell--tree-node {
position: relative;
}
.vxe-tree--btn-wrapper {
position: absolute;
top: 50%;
width: 1em;
height: 1em;
text-align: center;
transform: translateY(-50%);
z-index: 1;
user-select: none;
cursor: pointer;
}
.vxe-tree--node-btn {
display: block;
color: var(--vxe-font-lighten-color);
&:hover {
color: var(--vxe-font-color);
}
}
.vxe-tree-cell {
display: block;
padding-left: 1.5em;
}
.vxe-body--column {
&.col--ellipsis {
& > .vxe-cell {
.vxe-tree-cell {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
}
/*展开行*/
.vxe-table--expanded {
cursor: pointer;
.vxe-table--expand-btn {
display: inline-block;
width: 1em;
height: 1em;
text-align: center;
user-select: none;
color: var(--vxe-font-lighten-color);
&:hover {
color: var(--vxe-font-color);
}
}
&+.vxe-table--expand-label {
padding-left: 0.5em;
}
}
.vxe-body--expanded-column {
border-bottom: var(--vxe-table-border-width) solid var(--vxe-table-border-color);
&.col--ellipsis {
& > .vxe-body--expanded-cell {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
.vxe-body--expanded-cell {
position: relative;
z-index: 1;
&.is--ellipsis {
overflow: auto;
}
}
/*设置列高度*/
&.vxe-editable {
.vxe-body--column {
@extend %DefaultColumnHeight;
}
&.size--medium {
.vxe-body--column {
@extend %MediumColumnHeight;
}
}
&.size--small {
.vxe-body--column {
@extend %SmallColumnHeight;
}
}
&.size--mini {
.vxe-body--column {
@extend %MiniColumnHeight;
}
}
}
/*溢出列*/
.vxe-header--column,
.vxe-body--column,
.vxe-footer--column {
&.col--ellipsis {
@extend %DefaultColumnHeight;
&:not(.col--active) {
& > .vxe-cell {
@extend %TextEllipsis;
}
}
& > .vxe-cell {
max-height: var(--vxe-table-row-height-default);
}
}
}
&.size--medium {
.vxe-header--column,
.vxe-body--column,
.vxe-footer--column {
&.col--ellipsis {
@extend %MediumColumnHeight;
& > .vxe-cell {
max-height: var(--vxe-table-row-height-medium);
}
}
}
.vxe-cell--checkbox {
font-size: var(--vxe-checkbox-font-size-medium);
}
.vxe-cell--radio {
font-size: var(--vxe-radio-font-size-medium);
}
}
&.size--small {
.vxe-header--column,
.vxe-body--column,
.vxe-footer--column {
&.col--ellipsis {
@extend %SmallColumnHeight;
& > .vxe-cell {
max-height: var(--vxe-table-row-height-small);
}
}
}
.vxe-cell--checkbox {
font-size: var(--vxe-checkbox-font-size-small);
}
.vxe-cell--radio {
font-size: var(--vxe-radio-font-size-small);
}
}
&.size--mini {
.vxe-header--column,
.vxe-body--column,
.vxe-footer--column {
&.col--ellipsis {
@extend %MiniColumnHeight;
& > .vxe-cell {
max-height: var(--vxe-table-row-height-mini);
}
}
}
.vxe-cell--checkbox {
font-size: var(--vxe-checkbox-font-size-mini);
}
.vxe-cell--radio {
font-size: var(--vxe-radio-font-size-mini);
}
}
/*暂无数据*/
.vxe-table--empty-placeholder,
.vxe-table--empty-block {
min-height: var(--vxe-table-row-height-default);
justify-content: center;
align-items: center;
text-align: center;
overflow: hidden;
width: 100%;
pointer-events: none;
}
.vxe-table--empty-block {
display: none;
visibility: hidden;
}
.vxe-table--empty-placeholder {
display: none;
position: absolute;
top: 0;
z-index: 5;
}
.vxe-table--empty-content {
display: block;
width: 50%;
pointer-events: auto;
}
&.is--empty {
.vxe-table--empty-block,
.vxe-table--empty-placeholder {
display: flex;
}
}
.vxe-body--column {
&.col--selected {
box-shadow: inset 0px 0px 0px 2px var(--vxe-primary-color);
}
}
/*校验不通过*/
.vxe-body--column {
&.col--active,
&.col--selected {
position: relative;
}
&.col--valid-error {
.vxe-cell--valid-error-hint {
width: 100%;
position: absolute;
left: 50%;
font-size: 12px;
line-height: 1.2em;
transform: translateX(-50%);
text-align: left;
z-index: 4;
padding-left: var(--vxe-table-cell-padding-left);
padding-right: var(--vxe-table-cell-padding-right);
.vxe-cell--valid-error-msg {
display: inline-block;
border-radius: var(--vxe-border-radius);
color: var(--vxe-table-validate-error-color);
background-color: var(--vxe-table-validate-error-background-color);
pointer-events: auto;
}
}
.vxe-default-input,
.vxe-default-textarea,
.vxe-default-select {
border-color: var(--vxe-table-validate-error-color);
}
.vxe-input {
> .vxe-input--inner {
border-color: var(--vxe-table-validate-error-color);
}
}
}
}
&.valid-msg--single {
.vxe-body--row {
&:last-child {
.vxe-cell--valid-error-hint {
bottom: calc(100%);
}
&:first-child {
.vxe-cell--valid-error-hint {
bottom: auto;
}
}
}
}
}
&.valid-msg--full {
.vxe-body--row {
&:last-child {
.vxe-cell--valid-error-hint {
top: calc(100% - 1.3em);
}
}
}
}
/*已废弃,旧的校验样式**/
&.old-cell-valid {
.vxe-body--column {
&.col--valid-error {
.vxe-cell--valid-error-hint {
width: 320px;
position: absolute;
bottom: calc(100% + 4px);
left: 50%;
transform: translateX(-50%);
text-align: center;
pointer-events: none;
z-index: 4;
.vxe-cell--valid-error-msg {
display: inline-block;
border-radius: $vxe-border-radius;
padding: 8px 12px;
color: #fff;
background-color: #f56c6c;
pointer-events: auto;
}
}
}
}
.vxe-body--row {
&:first-child {
.vxe-cell--valid-error-hint {
bottom: auto;
top: calc(100% + 4px);
}
}
}
.vxe-body--column {
&:first-child {
.vxe-cell--valid-error-hint {
left: 10px;
transform: translateX(0);
text-align: left;
}
}
}
}
/*单元格标记删除状态*/
.vxe-body--row {
&.row--pending {
color: var(--vxe-table-validate-error-color);
text-decoration: line-through;
cursor: no-drop;
.vxe-body--column {
position: relative;
&:after {
content: "";
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 0;
border-bottom: 1px solid var(--vxe-table-validate-error-color);
z-index: 1;
}
}
}
}
/*单元格编辑状态*/
.vxe-body--row {
&.row--new {
& > .vxe-body--column {
position: relative;
&:before {
content: "";
top: calc(var(--vxe-table-cell-dirty-width) * -1);
left: calc(var(--vxe-table-cell-dirty-width) * -1);
position: absolute;
border-width: var(--vxe-table-cell-dirty-width);
border-style: solid;
border-color: transparent var(--vxe-table-cell-dirty-insert-color) transparent transparent;
transform: rotate(45deg);
}
}
}
}
.vxe-body--column {
&.col--dirty {
position: relative;
&:before {
content: "";
top: calc(var(--vxe-table-cell-dirty-width) * -1);
left: calc(var(--vxe-table-cell-dirty-width) * -1);
position: absolute;
border-width: var(--vxe-table-cell-dirty-width);
border-style: solid;
border-color: transparent var(--vxe-table-cell-dirty-update-color) transparent transparent;
transform: rotate(45deg);
}
}
}
/*可编辑*/
&.vxe-editable {
&.cell--highlight {
.vxe-body--column {
&.col--active {
box-shadow: inset 0px 0px 0px 2px var(--vxe-primary-color);
&.col--valid-error {
box-shadow: inset 0px 0px 0px 2px var(--vxe-table-validate-error-color);
}
.vxe-cell {
.vxe-default-input,
.vxe-default-textarea {
border: 0;
padding: 0;
}
.vxe-default-input {
height: var(--vxe-table-row-line-height);
}
.vxe-input {
.vxe-input--inner {
border: 0;
padding-left: 0;
}
}
.vxe-textarea {
height: calc(var(--vxe-table-row-line-height) - 1px);
.vxe-textarea--inner {
border: 0;
}
}
}
}
}
}
.vxe-body--column {
padding: 0;
&.col--active {
padding: 0;
}
}
}
}
/*valid error*/
div.vxe-table--tooltip-wrapper {
&.vxe-table--valid-error {
padding: 0;
color: var(--vxe-table-validate-error-color);
background-color: var(--vxe-table-validate-error-background-color);
&.old-cell-valid {
padding: 8px 12px;
background-color: #f56c6c;
color: #fff;
}
}
}
/*footer*/
.vxe-table--footer-wrapper {
color: var(--vxe-table-footer-font-color);
margin-top: -1px;
&.body--wrapper{
overflow-x: auto;
}
}
.vxe-footer--column {
&.col--ellipsis {
& > .vxe-cell {
display: flex;
align-items: center;
.vxe-cell--item {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
}