vxe-table
Version:
一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、虚拟列表、模态窗口、自定义模板、渲染器、贼灵活的配置项、扩展接口等...
320 lines (278 loc) • 7.78 kB
CSS
/*font*/
/*size*/
/*icon*/
/*color*/
/*input/radio/checkbox*/
/*popup*/
/*table*/
/*filter*/
/*menu*/
/*loading*/
/*validate*/
/*grid*/
/*toolbar*/
/*tooltip*/
/*modal*/
/*checkbox*/
/*radio*/
/*button*/
/*input*/
/*textarea*/
/*form*/
/*select*/
/*switch*/
[class*="vxe-"], [class*="vxe-"]:after, [class*="vxe-"]:before,
[class*="vxe-"] *:after, [class*="vxe-"] *:before {
-webkit-box-sizing: border-box;
box-sizing: border-box; }
.vxe-radio .vxe-radio--label, .vxe-radio-button .vxe-radio--label {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap; }
body {
margin: 0;
line-height: 1.5;
font-variant: tabular-nums;
-webkit-font-feature-settings: 'tnum';
font-feature-settings: 'tnum'; }
.vxe-primary-color {
color: #409eff; }
.vxe-success-color {
color: #67c23a; }
.vxe-info-color {
color: #909399; }
.vxe-warning-color {
color: #e6a23c; }
.vxe-danger-color {
color: #f56c6c; }
.vxe-perfect-color {
color: #f8f8f9; }
.vxe-row:after {
content: '';
display: block;
clear: both;
height: 0;
overflow: hidden;
visibility: hidden; }
.vxe-row > .vxe-col--1 {
float: left;
width: 4.16667%; }
.vxe-row > .vxe-col--2 {
float: left;
width: 8.33333%; }
.vxe-row > .vxe-col--3 {
float: left;
width: 12.5%; }
.vxe-row > .vxe-col--4 {
float: left;
width: 16.66667%; }
.vxe-row > .vxe-col--5 {
float: left;
width: 20.83333%; }
.vxe-row > .vxe-col--6 {
float: left;
width: 25%; }
.vxe-row > .vxe-col--7 {
float: left;
width: 29.16667%; }
.vxe-row > .vxe-col--8 {
float: left;
width: 33.33333%; }
.vxe-row > .vxe-col--9 {
float: left;
width: 37.5%; }
.vxe-row > .vxe-col--10 {
float: left;
width: 41.66667%; }
.vxe-row > .vxe-col--11 {
float: left;
width: 45.83333%; }
.vxe-row > .vxe-col--12 {
float: left;
width: 50%; }
.vxe-row > .vxe-col--13 {
float: left;
width: 54.16667%; }
.vxe-row > .vxe-col--14 {
float: left;
width: 58.33333%; }
.vxe-row > .vxe-col--15 {
float: left;
width: 62.5%; }
.vxe-row > .vxe-col--16 {
float: left;
width: 66.66667%; }
.vxe-row > .vxe-col--17 {
float: left;
width: 70.83333%; }
.vxe-row > .vxe-col--18 {
float: left;
width: 75%; }
.vxe-row > .vxe-col--19 {
float: left;
width: 79.16667%; }
.vxe-row > .vxe-col--20 {
float: left;
width: 83.33333%; }
.vxe-row > .vxe-col--21 {
float: left;
width: 87.5%; }
.vxe-row > .vxe-col--22 {
float: left;
width: 91.66667%; }
.vxe-row > .vxe-col--23 {
float: left;
width: 95.83333%; }
.vxe-row > .vxe-col--24 {
float: left;
width: 100%; }
/*animat*/
.t--animat .vxe-sort--asc-btn:before, .t--animat .vxe-sort--asc-btn:after,
.t--animat .vxe-sort--desc-btn:before,
.t--animat .vxe-sort--desc-btn:after,
.t--animat .vxe-filter--btn:before,
.t--animat .vxe-filter--btn:after {
-webkit-transition: border 0.1s ease-in-out;
transition: border 0.1s ease-in-out; }
.t--animat .vxe-input--wrapper .vxe-input {
-webkit-transition: border 0.1s ease-in-out;
transition: border 0.1s ease-in-out; }
.t--animat .vxe-table--expand-btn,
.t--animat .vxe-tree--node-btn {
-webkit-transition: -webkit-transform 0.1s ease-in-out;
transition: -webkit-transform 0.1s ease-in-out;
transition: transform 0.1s ease-in-out;
transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; }
.t--animat .vxe-checkbox > input:checked + span,
.t--animat .vxe-radio > input:checked + span {
-webkit-transition: background-color 0.1s ease-in-out;
transition: background-color 0.1s ease-in-out; }
/*radio-group*/
.vxe-radio-group {
display: inline-block;
vertical-align: middle;
line-height: 1;
font-size: 0; }
.vxe-radio-group + .vxe-radio-group {
margin-left: 10px; }
/*radio*/
.vxe-radio {
display: inline-block;
vertical-align: middle;
white-space: nowrap;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
line-height: 1;
cursor: pointer; }
.vxe-radio > input[type="radio"] {
position: absolute;
width: 0;
height: 0;
border: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none; }
.vxe-radio > input + .vxe-radio--icon {
position: relative;
display: inline-block;
width: 1em;
height: 1em;
border: 2px solid #dcdfe6;
background-color: #fff;
vertical-align: middle;
border-radius: 50%; }
.vxe-radio > input:checked + .vxe-radio--icon {
background-color: #409eff;
border-color: #409eff; }
.vxe-radio > input:checked + .vxe-radio--icon:before {
content: "";
position: absolute;
background-color: #fff;
border-radius: 50%;
height: 0.25em;
width: 0.25em;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%); }
.vxe-radio > input:checked + .vxe-radio--icon + .vxe-radio--label {
color: #409eff; }
.vxe-radio:not(.is--disabled) > input:focus + .vxe-radio--icon {
border-color: #409eff;
-webkit-box-shadow: 0 0 0.2em 0 #409eff;
box-shadow: 0 0 0.2em 0 #409eff; }
.vxe-radio:not(.is--disabled):hover > input + .vxe-radio--icon {
border-color: #409eff; }
.vxe-radio.is--disabled {
cursor: not-allowed; }
.vxe-radio.is--disabled > input + .vxe-radio--icon {
border-color: #dcdfe6;
background-color: #f3f3f3; }
.vxe-radio.is--disabled > input + .vxe-radio--icon:before {
border-color: #c0c4cc;
background-color: #c0c4cc; }
.vxe-radio.is--disabled > input + .vxe-radio--icon + .vxe-radio--label {
color: #BFBFBF; }
.vxe-radio .vxe-radio--label {
padding-left: 0.5em;
vertical-align: middle;
display: inline-block;
max-width: 50em; }
.vxe-radio:not(.vxe-radio-button) + .vxe-radio {
margin-left: 10px; }
.vxe-radio-button {
background-color: #fff; }
.vxe-radio-button:first-child .vxe-radio--label {
border-left: 1px solid #dcdfe6;
border-radius: 4px 0 0 4px; }
.vxe-radio-button:last-child .vxe-radio--label {
border-radius: 0 4px 4px 0; }
.vxe-radio-button > input:checked + .vxe-radio--label {
color: #fff;
background-color: #409eff;
border-color: #409eff; }
.vxe-radio-button .vxe-radio--label {
padding: 0 1em;
line-height: 32px;
display: inline-block;
border-style: solid;
border-color: #dcdfe6;
border-width: 1px 1px 1px 0;
max-width: 50em; }
.vxe-radio-button.is--disabled {
cursor: not-allowed; }
.vxe-radio-button.is--disabled > input:not(:checked) + .vxe-radio--label {
color: #dcdfe6; }
.vxe-radio-button.is--disabled > input:checked + .vxe-radio--label {
border-color: #a6d2ff;
background-color: #a6d2ff; }
.vxe-radio-button:not(.is--disabled) > input:focus + .vxe-radio--label {
border-color: #409eff;
-webkit-box-shadow: 0 0 0.2em 0 #409eff;
box-shadow: 0 0 0.2em 0 #409eff; }
.vxe-radio-button:not(.is--disabled):hover > input:not(:checked) + .vxe-radio--label {
color: #409eff; }
.vxe-radio-button.size--medium .vxe-radio--label {
line-height: 30px; }
.vxe-radio-button.size--small .vxe-radio--label {
line-height: 28px; }
.vxe-radio-button.size--mini .vxe-radio--label {
line-height: 26px; }
.vxe-radio {
font-size: 14px; }
.vxe-radio .vxe-radio--icon {
font-size: 16px; }
.vxe-radio.size--medium {
font-size: 14px; }
.vxe-radio.size--medium .vxe-radio--icon {
font-size: 15px; }
.vxe-radio.size--small {
font-size: 13px; }
.vxe-radio.size--small .vxe-radio--icon {
font-size: 14px; }
.vxe-radio.size--mini {
font-size: 12px; }
.vxe-radio.size--mini .vxe-radio--icon {
font-size: 14px; }