django-vue3-admin-web/node_modules/vxe-pc-ui/styles/components/split.scss
2025-10-20 21:21:14 +08:00

317 lines
6.7 KiB
SCSS

@use "sass:list";
@use '../helpers/baseMixin.scss';
.vxe-split {
position: relative;
width: 100%;
&.is--vertical {
& > .vxe-split-wrapper {
flex-direction: column;
& > .vxe-split-pane {
width: 100%;
}
}
}
&.is--drag {
user-select: none;
&.is-resize--immediate {
&.is--horizontal {
cursor: w-resize;
}
&.is--vertical {
cursor: n-resize;
}
}
&.is-resize--lazy {
&.is--horizontal {
cursor: col-resize;
}
&.is--vertical {
cursor: row-resize;
}
}
& > .vxe-split-wrapper {
& > .vxe-split-pane {
& > .vxe-split-pane--wrapper {
&::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
background: transparent;
user-select: none;
}
}
}
}
}
}
.vxe-split--resizable-split-tip {
display: none;
position: absolute;
top: 0;
left: 0;
z-index: 7;
pointer-events: none;
user-select: none;
cursor: col-resize;
&.is-resize--lazy {
&:before {
content: "";
display: block;
height: 100%;
background-color: var(--vxe-ui-split-resizable-drag-line-color);
}
}
&.is--horizontal {
width: 1px;
height: 100%;
.vxe-split--resizable-split-number-prev {
right: 0;
}
.vxe-split--resizable-split-number-next {
left: 1px;
}
}
&.is--vertical {
width: 100%;
height: 1px;
.vxe-split--resizable-split-number-prev {
bottom: 0;
}
.vxe-split--resizable-split-number-next {
top: 1px;
}
}
}
.vxe-split--resizable-split-tip-number {
position: absolute;
top: 0;
left: 0;
user-select: none;
pointer-events: none;
}
.vxe-split--resizable-split-number-prev,
.vxe-split--resizable-split-number-next {
position: absolute;
padding: 0.25em 0.25em;
font-size: 12px;
border-radius: var(--vxe-ui-border-radius);
white-space: nowrap;
color: #ffffff;
background-color: var(--vxe-ui-split-resizable-drag-line-color);
}
.vxe-split-wrapper {
height: 100%;
display: flex;
flex-direction: row;
overflow: hidden;
}
.vxe-split-slots {
display: none;
}
.vxe-split-pane-handle {
display: flex;
position: relative;
flex-shrink: 0;
user-select: none;
}
.vxe-split-pane--wrapper {
position: relative;
word-break: break-word;
overflow: hidden;
flex-grow: 1;
}
.vxe-split-pane--inner {
height: 100%;
width: 100%;
overflow: auto;
& > .vxe-split {
height: 100%;
}
}
.vxe-split-pane-handle-bar {
background-color: var(--vxe-ui-split-handle-bar-background-color);
&:hover {
background-color: var(--vxe-ui-split-handle-bar-hover-background-color);
}
}
.vxe-split-pane-action-btn-wrapper {
position: absolute;
display: flex;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 2;
}
.vxe-split-pane-action-btn {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
border-radius: var(--vxe-ui-base-border-radius);
color: var(--vxe-ui-layout-background-color);
background-color: var(--vxe-ui-split-handle-button-background-color);
border: 1px solid var(--vxe-ui-input-border-color);
cursor: pointer;
@include baseMixin.createAnimationTransition(transform, 0.1s);
&:hover {
color: #ffffff;
background-color: var(--vxe-ui-font-primary-color);
}
&:active {
transform: scale(0.9);
}
& > i {
font-size: 0.6em;
}
}
.vxe-split-pane-handle {
&.is--horizontal {
flex-direction: row;
&.is--border {
border-width: 1px 0 1px 0;
}
.vxe-split-pane-action-btn-wrapper {
flex-direction: column;
& div {
margin-top: 1em;
&:first-child {
margin-top: 0;
}
}
}
.vxe-split-pane-handle-bar {
width: var(--vxe-ui-split-handle-bar-horizontal-width);
height: 100%;
}
.vxe-split-pane-action-btn {
width: var(--vxe-ui-split-handle-bar-horizontal-width);
height: var(--vxe-ui-split-handle-bar-horizontal-height);
}
}
&.is--vertical {
flex-direction: column;
&.is--border {
border-width: 0 1px 0 1px;
}
.vxe-split-pane-action-btn-wrapper {
flex-direction: row;
& div {
margin-left: 1em;
&:first-child {
margin-left: 0;
}
}
}
.vxe-split-pane-handle-bar {
height: var(--vxe-ui-split-handle-bar-vertical-height);
width: 100%;
}
.vxe-split-pane-action-btn {
width: var(--vxe-ui-split-handle-bar-vertical-width);
height: var(--vxe-ui-split-handle-bar-vertical-height);
}
}
&.is--resize {
&.is-resize--immediate {
&.is--horizontal {
.vxe-split-pane-handle-bar {
cursor: w-resize;
}
}
&.is--vertical {
.vxe-split-pane-handle-bar {
cursor: n-resize;
}
}
& > .vxe-split-pane-handle-bar {
&:active {
background-color: var(--vxe-ui-font-primary-color);
}
}
}
&.is-resize--lazy {
&.is--horizontal {
.vxe-split-pane-handle-bar {
cursor: col-resize;
}
}
&.is--vertical {
.vxe-split-pane-handle-bar {
cursor: row-resize;
}
}
}
}
}
.vxe-split-pane {
display: flex;
position: relative;
overflow: hidden;
&.is--fill {
flex-grow: 1;
}
&.is--hidden {
&.is--horizontal {
width: 0;
}
&.is--vertical {
height: 0;
}
}
&.is--padding {
& > .vxe-split-pane--wrapper {
padding: var(--vxe-ui-layout-padding-default);
}
}
&.is--hidden,
&.is--width,
&.is--height {
flex-shrink: 0;
}
&.is--border {
& > .vxe-split-pane--wrapper {
border: 1px solid var(--vxe-ui-base-popup-border-color);
}
}
}
.vxe-split--render-vars {
width: 0;
height: 0;
overflow: hidden;
.vxe-split--handle-bar-info {
width: var(--vxe-ui-split-handle-bar-horizontal-width);
height: var(--vxe-ui-split-handle-bar-vertical-height);
}
}
.vxe-modal--content {
& > .vxe-split {
height: 100%;
}
}
.vxe-split {
font-size: var(--vxe-ui-font-size-default);
&.size--medium {
font-size: var(--vxe-ui-font-size-medium);
}
&.size--small {
font-size: var(--vxe-ui-font-size-small);
}
&.size--mini {
font-size: var(--vxe-ui-font-size-mini);
}
}