vxe-table-demonic
Version:
一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...
349 lines (348 loc) • 9.93 kB
CSS
/*font*/
/*size*/
/*icon*/
/*color*/
/*input/radio/checkbox*/
/*popup*/
/*table*/
/*filter*/
/*menu*/
/*loading*/
/*validate*/
/*grid*/
/*toolbar*/
/*tooltip*/
/*pager*/
/*modal*/
/*checkbox*/
/*radio*/
/*button*/
/*input*/
/*textarea*/
/*form*/
/*select*/
/*switch*/
/*pulldown*/
/*tag*/
.vxe-modal--wrapper {
display: none;
position: fixed;
top: 0;
left: 0;
line-height: 1.5;
width: calc(100% + 18px);
height: calc(100% + 18px);
color: var(--vxe-font-color);
font-family: var(--vxe-font-family);
transition: top 0.4s ease-in-out;
}
.vxe-modal--wrapper.is--active {
display: block;
}
.vxe-modal--wrapper.is--visible.is--mask:before {
background-color: rgba(0, 0, 0, 0.5);
}
.vxe-modal--wrapper.is--visible.type--message .vxe-modal--box {
opacity: 1;
transform: translateY(0);
}
.vxe-modal--wrapper.is--visible .vxe-modal--box {
opacity: 1;
visibility: visible;
}
.vxe-modal--wrapper.is--loading .vxe-modal--header,
.vxe-modal--wrapper.is--loading .vxe-modal--footer {
position: relative;
border-bottom-color: var(--vxe-loading-background-color);
}
.vxe-modal--wrapper.is--loading .vxe-modal--header:before,
.vxe-modal--wrapper.is--loading .vxe-modal--footer:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
background-color: var(--vxe-loading-background-color);
}
.vxe-modal--wrapper:not(.lock--view) {
pointer-events: none;
}
.vxe-modal--wrapper:not(.type--message).lock--scroll {
overflow: hidden;
}
.vxe-modal--wrapper:not(.type--message):not(.lock--scroll) {
overflow: auto;
}
.vxe-modal--wrapper.lock--view:before, .vxe-modal--wrapper.is--mask:before {
content: "";
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
pointer-events: auto;
}
.vxe-modal--wrapper.is--mask:before {
background-color: rgba(0, 0, 0, 0);
}
.vxe-modal--wrapper.is--animat.is--mask:before {
transition: background-color 0.2s ease-in-out;
}
.vxe-modal--wrapper.is--animat.type--message .vxe-modal--box:not(.is--drag) {
transition: all 0.4s ease-out;
}
.vxe-modal--wrapper.type--message .vxe-modal--body, .vxe-modal--wrapper.type--alert .vxe-modal--body, .vxe-modal--wrapper.type--confirm .vxe-modal--body {
white-space: normal;
word-break: break-word;
}
.vxe-modal--wrapper.type--message {
text-align: center;
}
.vxe-modal--wrapper.type--message .vxe-modal--box {
display: inline-block;
padding: 2px 0;
margin-top: 0;
width: auto;
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
opacity: 0;
transform: translateY(-100%);
}
.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--body:after {
content: "";
display: block;
clear: both;
height: 0;
overflow: hidden;
visibility: hidden;
}
.vxe-modal--wrapper.type--message .vxe-modal--box .vxe-modal--content {
max-width: 800px;
float: left;
}
.vxe-modal--wrapper.type--message .vxe-modal--status-wrapper {
font-size: 1.4em;
padding-left: 10px;
}
.vxe-modal--wrapper.type--modal .vxe-modal--box, .vxe-modal--wrapper.type--alert .vxe-modal--box, .vxe-modal--wrapper.type--confirm .vxe-modal--box {
display: flex;
flex-direction: column;
position: fixed;
left: 50%;
top: 0;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
.vxe-modal--wrapper.type--modal .vxe-modal--body, .vxe-modal--wrapper.type--alert .vxe-modal--body, .vxe-modal--wrapper.type--confirm .vxe-modal--body {
overflow: auto;
}
.vxe-modal--wrapper.type--modal .vxe-modal--body .vxe-modal--content, .vxe-modal--wrapper.type--alert .vxe-modal--body .vxe-modal--content, .vxe-modal--wrapper.type--confirm .vxe-modal--body .vxe-modal--content {
overflow: auto;
}
.vxe-modal--wrapper.type--alert .vxe-modal--status-wrapper, .vxe-modal--wrapper.type--confirm .vxe-modal--status-wrapper {
font-size: 1.6em;
padding-left: 10px;
}
.vxe-modal--wrapper .vxe-modal--box {
visibility: hidden;
width: 420px;
background-color: var(--vxe-modal-body-background-color);
border-radius: var(--vxe-border-radius);
border: 1px solid var(--vxe-modal-border-color);
text-align: left;
pointer-events: auto;
opacity: 0;
}
.vxe-modal--wrapper .vxe-modal--box.is--drag {
cursor: move;
}
.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body:after,
.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--footer:after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body {
overflow: hidden;
}
.vxe-modal--wrapper .vxe-modal--box.is--drag .vxe-modal--body .vxe-modal--content {
overflow: hidden;
}
.vxe-modal--wrapper.status--info .vxe-modal--status-wrapper {
color: var(--vxe-info-color);
}
.vxe-modal--wrapper.status--warning .vxe-modal--status-wrapper, .vxe-modal--wrapper.status--question .vxe-modal--status-wrapper {
color: var(--vxe-warning-color);
}
.vxe-modal--wrapper.status--success .vxe-modal--status-wrapper {
color: var(--vxe-success-color);
}
.vxe-modal--wrapper.status--error .vxe-modal--status-wrapper {
color: var(--vxe-danger-color);
}
.vxe-modal--wrapper.status--loading .vxe-modal--status-wrapper {
color: var(--vxe-font-disabled-color);
}
.vxe-modal--wrapper .vxe-modal--status-wrapper {
flex-shrink: 0;
display: flex;
align-items: center;
}
.vxe-modal--wrapper .vxe-modal--content {
flex-grow: 1;
padding: 0.8em 1em;
white-space: pre-line;
}
.vxe-modal--wrapper .vxe-modal--header,
.vxe-modal--wrapper .vxe-modal--body,
.vxe-modal--wrapper .vxe-modal--footer {
position: relative;
}
.vxe-modal--wrapper .vxe-modal--body {
display: flex;
flex-grow: 1;
}
.vxe-modal--wrapper .vxe-modal--header {
display: flex;
flex-direction: row;
flex-shrink: 0;
font-size: 1.1em;
font-weight: 700;
border-bottom: 1px solid var(--vxe-modal-border-color);
background-color: var(--vxe-modal-header-background-color);
border-radius: var(--vxe-border-radius) var(--vxe-border-radius) 0 0;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.vxe-modal--wrapper .vxe-modal--header.is--draggable .vxe-modal--header-title {
cursor: move;
}
.vxe-modal--wrapper .vxe-modal--header.is--ellipsis .vxe-modal--header-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.vxe-modal--wrapper .vxe-modal--header-title {
flex-grow: 1;
padding: 0.6em 0 0.6em 1em;
}
.vxe-modal--wrapper .vxe-modal--header-right {
flex-shrink: 0;
padding: 0.6em 1em 0.6em 0;
}
.vxe-modal--wrapper .vxe-modal--zoom-btn,
.vxe-modal--wrapper .vxe-modal--close-btn {
cursor: pointer;
margin-left: 0.6em;
}
.vxe-modal--wrapper .vxe-modal--zoom-btn:hover,
.vxe-modal--wrapper .vxe-modal--close-btn:hover {
color: var(--vxe-primary-color);
}
.vxe-modal--wrapper .vxe-modal--footer {
flex-shrink: 0;
text-align: right;
padding: 0.4em 1em 0.8em 1em;
}
.vxe-modal--wrapper.is--maximize .vxe-modal--box .vxe-modal--header {
cursor: default;
}
.vxe-modal--wrapper.is--maximize .vxe-modal--resize .wl-resize,
.vxe-modal--wrapper.is--maximize .vxe-modal--resize .wr-resize,
.vxe-modal--wrapper.is--maximize .vxe-modal--resize .swst-resize,
.vxe-modal--wrapper.is--maximize .vxe-modal--resize .sest-resize,
.vxe-modal--wrapper.is--maximize .vxe-modal--resize .st-resize,
.vxe-modal--wrapper.is--maximize .vxe-modal--resize .swlb-resize,
.vxe-modal--wrapper.is--maximize .vxe-modal--resize .selb-resize,
.vxe-modal--wrapper.is--maximize .vxe-modal--resize .sb-resize {
display: none;
}
.vxe-modal--wrapper .vxe-modal--resize .wl-resize,
.vxe-modal--wrapper .vxe-modal--resize .wr-resize,
.vxe-modal--wrapper .vxe-modal--resize .swst-resize,
.vxe-modal--wrapper .vxe-modal--resize .sest-resize,
.vxe-modal--wrapper .vxe-modal--resize .st-resize,
.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,
.vxe-modal--wrapper .vxe-modal--resize .selb-resize,
.vxe-modal--wrapper .vxe-modal--resize .sb-resize {
position: absolute;
z-index: 100;
}
.vxe-modal--wrapper .vxe-modal--resize .wl-resize,
.vxe-modal--wrapper .vxe-modal--resize .wr-resize {
width: 8px;
height: 100%;
top: 0;
cursor: w-resize;
}
.vxe-modal--wrapper .vxe-modal--resize .wl-resize {
left: -5px;
}
.vxe-modal--wrapper .vxe-modal--resize .wr-resize {
right: -5px;
}
.vxe-modal--wrapper .vxe-modal--resize .swst-resize,
.vxe-modal--wrapper .vxe-modal--resize .sest-resize,
.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,
.vxe-modal--wrapper .vxe-modal--resize .selb-resize {
width: 10px;
height: 10px;
z-index: 101;
}
.vxe-modal--wrapper .vxe-modal--resize .swst-resize,
.vxe-modal--wrapper .vxe-modal--resize .sest-resize {
top: -8px;
}
.vxe-modal--wrapper .vxe-modal--resize .swlb-resize,
.vxe-modal--wrapper .vxe-modal--resize .selb-resize {
bottom: -8px;
}
.vxe-modal--wrapper .vxe-modal--resize .sest-resize,
.vxe-modal--wrapper .vxe-modal--resize .swlb-resize {
cursor: sw-resize;
}
.vxe-modal--wrapper .vxe-modal--resize .swst-resize,
.vxe-modal--wrapper .vxe-modal--resize .selb-resize {
cursor: se-resize;
}
.vxe-modal--wrapper .vxe-modal--resize .swst-resize,
.vxe-modal--wrapper .vxe-modal--resize .swlb-resize {
left: -8px;
}
.vxe-modal--wrapper .vxe-modal--resize .sest-resize,
.vxe-modal--wrapper .vxe-modal--resize .selb-resize {
right: -8px;
}
.vxe-modal--wrapper .vxe-modal--resize .st-resize,
.vxe-modal--wrapper .vxe-modal--resize .sb-resize {
width: 100%;
height: 8px;
left: 0;
cursor: s-resize;
}
.vxe-modal--wrapper .vxe-modal--resize .st-resize {
top: -5px;
}
.vxe-modal--wrapper .vxe-modal--resize .sb-resize {
bottom: -5px;
}
.vxe-modal--wrapper {
font-size: var(--vxe-font-size);
}
.vxe-modal--wrapper.size--medium {
font-size: var(--vxe-font-size-medium);
}
.vxe-modal--wrapper.size--small {
font-size: var(--vxe-font-size-small);
}
.vxe-modal--wrapper.size--mini {
font-size: var(--vxe-font-size-mini);
}