UNPKG

vhb-table

Version:

一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、贼灵活的配置项、扩展接口等...

295 lines (254 loc) 7.01 kB
/*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*/ [class*="vhb-"], [class*="vhb-"]:after, [class*="vhb-"]:before, [class*="vhb-"] *:after, [class*="vhb-"] *:before { -webkit-box-sizing: border-box; box-sizing: border-box; } .vhb-checkbox .vhb-checkbox--label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } [class*="vhb-"] { font-variant: tabular-nums; -webkit-font-feature-settings: 'tnum'; font-feature-settings: 'tnum'; } .vhb-primary-color { color: #409eff; } .vhb-success-color { color: #67c23a; } .vhb-info-color { color: #909399; } .vhb-warning-color { color: #e6a23c; } .vhb-danger-color { color: #f56c6c; } .vhb-perfect-color { color: #f8f8f9; } .vhb-row:after { content: ''; display: block; clear: both; height: 0; overflow: hidden; visibility: hidden; } .vhb-row > .vhb-col--1 { float: left; width: 4.16667%; } .vhb-row > .vhb-col--2 { float: left; width: 8.33333%; } .vhb-row > .vhb-col--3 { float: left; width: 12.5%; } .vhb-row > .vhb-col--4 { float: left; width: 16.66667%; } .vhb-row > .vhb-col--5 { float: left; width: 20.83333%; } .vhb-row > .vhb-col--6 { float: left; width: 25%; } .vhb-row > .vhb-col--7 { float: left; width: 29.16667%; } .vhb-row > .vhb-col--8 { float: left; width: 33.33333%; } .vhb-row > .vhb-col--9 { float: left; width: 37.5%; } .vhb-row > .vhb-col--10 { float: left; width: 41.66667%; } .vhb-row > .vhb-col--11 { float: left; width: 45.83333%; } .vhb-row > .vhb-col--12 { float: left; width: 50%; } .vhb-row > .vhb-col--13 { float: left; width: 54.16667%; } .vhb-row > .vhb-col--14 { float: left; width: 58.33333%; } .vhb-row > .vhb-col--15 { float: left; width: 62.5%; } .vhb-row > .vhb-col--16 { float: left; width: 66.66667%; } .vhb-row > .vhb-col--17 { float: left; width: 70.83333%; } .vhb-row > .vhb-col--18 { float: left; width: 75%; } .vhb-row > .vhb-col--19 { float: left; width: 79.16667%; } .vhb-row > .vhb-col--20 { float: left; width: 83.33333%; } .vhb-row > .vhb-col--21 { float: left; width: 87.5%; } .vhb-row > .vhb-col--22 { float: left; width: 91.66667%; } .vhb-row > .vhb-col--23 { float: left; width: 95.83333%; } .vhb-row > .vhb-col--24 { float: left; width: 100%; } /*animat*/ .is--animat .vhb-sort--asc-btn:before, .is--animat .vhb-sort--asc-btn:after, .is--animat .vhb-sort--desc-btn:before, .is--animat .vhb-sort--desc-btn:after, .is--animat .vhb-filter--btn:before, .is--animat .vhb-filter--btn:after { -webkit-transition: border 0.1s ease-in-out; transition: border 0.1s ease-in-out; } .is--animat .vhb-input--wrapper .vhb-input { -webkit-transition: border 0.1s ease-in-out; transition: border 0.1s ease-in-out; } .is--animat .vhb-table--expand-btn, .is--animat .vhb-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; } .is--animat .vhb-checkbox > input:checked + span, .is--animat .vhb-radio > input:checked + span { -webkit-transition: background-color 0.1s ease-in-out; transition: background-color 0.1s ease-in-out; } /*checkbox-group*/ .vhb-checkbox-group { display: inline-block; vertical-align: middle; line-height: 1; } /*checkbox*/ .vhb-checkbox { 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; color: #606266; } .vhb-checkbox + .vhb-checkbox { margin-left: 10px; } .vhb-checkbox > input[type="checkbox"] { position: absolute; width: 0; height: 0; border: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; } .vhb-checkbox > input + .vhb-checkbox--icon { position: relative; display: inline-block; width: 1em; height: 1em; background-color: #fff; vertical-align: middle; border-radius: 2px; border: 2px solid #dcdfe6; } .vhb-checkbox > input + .vhb-checkbox--icon:before { content: ""; position: absolute; } .vhb-checkbox > input:checked + .vhb-checkbox--icon { background-color: #409eff; border-color: #409eff; } .vhb-checkbox > input:checked + .vhb-checkbox--icon:before { height: 0.64em; width: 0.32em; left: 50%; top: 50%; border: 2px solid #fff; border-left: 0; border-top: 0; -webkit-transform: translate(-50%, -50%) rotate(45deg); transform: translate(-50%, -50%) rotate(45deg); } .vhb-checkbox > input:checked + .vhb-checkbox--icon + .vhb-checkbox--label { color: #409eff; } .vhb-checkbox.is--indeterminate > input:not(:checked) + .vhb-checkbox--icon { background-color: #409eff; border-color: #409eff; } .vhb-checkbox.is--indeterminate > input:not(:checked) + .vhb-checkbox--icon:before { border: 0; left: 50%; top: 50%; height: 2px; width: 0.6em; background-color: #fff; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .vhb-checkbox:not(.is--disabled) > input:focus + .vhb-checkbox--icon { border-color: #409eff; -webkit-box-shadow: 0 0 0.2em 0 #409eff; box-shadow: 0 0 0.2em 0 #409eff; } .vhb-checkbox:not(.is--disabled):hover > input + .vhb-checkbox--icon { border-color: #409eff; } .vhb-checkbox.is--disabled { cursor: not-allowed; } .vhb-checkbox.is--disabled > input + .vhb-checkbox--icon { border-color: #dcdfe6; background-color: #f3f3f3; } .vhb-checkbox.is--disabled > input + .vhb-checkbox--icon:before { border-color: #c0c4cc; } .vhb-checkbox.is--disabled > input + .vhb-checkbox--icon + .vhb-checkbox--label { color: #BFBFBF; } .vhb-checkbox.is--disabled > input:checked + .vhb-checkbox--icon { border-color: #dcdfe6; background-color: #f3f3f3; } .vhb-checkbox .vhb-checkbox--label { padding-left: 0.5em; vertical-align: middle; display: inline-block; max-width: 50em; } .vhb-checkbox { font-size: 14px; } .vhb-checkbox .vhb-checkbox--icon { font-size: 16px; } .vhb-checkbox.size--medium { font-size: 14px; } .vhb-checkbox.size--medium .vhb-checkbox--icon { font-size: 15px; } .vhb-checkbox.size--small { font-size: 13px; } .vhb-checkbox.size--small .vhb-checkbox--icon { font-size: 14px; } .vhb-checkbox.size--mini { font-size: 12px; } .vhb-checkbox.size--mini .vhb-checkbox--icon { font-size: 14px; }