@use '../helpers/baseMixin.scss'; .vxe-tabs { display: flex; flex-direction: column; color: var(--vxe-ui-font-color); font-family: var(--vxe-ui-font-family); &.is--padding { .vxe-tabs-pane--item { padding: var(--vxe-ui-layout-padding-default); } } &.trigger--default { .vxe-tabs-header--item { cursor: pointer; &:hover { .vxe-tabs-header--item-name { color: var(--vxe-ui-font-primary-color); } } } } } .vxe-tabs-header { display: flex; flex-direction: row; } .vxe-tabs-header--bar { position: relative; display: flex; flex-direction: row; align-items: center; justify-content: center; flex-shrink: 0; width: 2em; border: 1px solid var(--vxe-ui-input-border-color); cursor: pointer; &::after { content: ""; position: absolute; top: 0; width: 1px; height: 100%; background-color: var(--vxe-ui-input-border-color); z-index: 3; } &:focus { color: var(--vxe-ui-font-darken-color); } &:hover { color: var(--vxe-ui-font-primary-lighten-color); background-color: var(--vxe-ui-font-tinge-color); } &:active { color: var(--vxe-ui-font-primary-darken-color); } } .vxe-tabs-header--left-bar { border-right: 0; box-shadow: 8px 0px 10px -5px var(--vxe-ui-tabs-bar-scrolling-box-shadow-color); &::after { right: -1px; } } .vxe-tabs-header--right-bar { border-left: 0; box-shadow: -8px 0px 10px -5px var(--vxe-ui-tabs-bar-scrolling-box-shadow-color); &::after { left: -1px; } } .vxe-tabs-header--extra { display: flex; flex-direction: row; align-items: center; justify-content: center; flex-shrink: 0; border-bottom: 1px solid var(--vxe-ui-input-border-color); } .vxe-tabs-header--wrapper { position: relative; flex-grow: 1; &::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: var(--vxe-ui-input-border-color); z-index: 0; } } .vxe-tabs-header--item-wrapper { position: relative; display: flex; flex-direction: row; overflow-y: hidden; overflow-x: auto; outline: 0; } .vxe-tabs-header--item { position: relative; flex-shrink: 0; padding: 0 0.5em; &.is--active { .vxe-tabs-header--item-content { color: var(--vxe-ui-font-primary-color); } } &.align--left { text-align: left; } &.align--center { text-align: center; } &.align--right { text-align: right; } } .vxe-tabs-header--item-inner { display: flex; flex-direction: row; align-items: center; } .vxe-tabs-header--item-content { flex-grow: 1; } .vxe-tabs-header--item-icon { padding: 0 0.6em; &+.vxe-tabs-header--item-name { padding-left: 0; } } .vxe-tabs-header--item-name { padding: 0 0.6em; } .vxe-tabs-header--refresh-btn, .vxe-tabs-header--close-btn { font-size: 0.8em; border-radius: 50%; width: 1.5em; height: 1.5em; margin: 0 0.2em; line-height: 1.5em; text-align: center; &:hover { color: var(--vxe-ui-font-color); background: var(--vxe-ui-tabs-close-hover-background-color); } &:active { color: var(--vxe-ui-font-primary-color); } & > i { font-size: 1em; } } .vxe-tabs-header--item-inner { @include baseMixin.createAnimationTransition(color, .1s); } .vxe-tabs-pane { flex-grow: 1; overflow: hidden; } .vxe-tabs-pane--item { display: none; height: 100%; overflow: auto; outline: 0; &.is--visible { display: block; } } .vxe-tabs-header--active-line { display: none; &.type--default { display: block; position: absolute; bottom: 0; left: 0; height: 2px; width: 4px; background-color: var(--vxe-ui-font-primary-color); z-index: 2; @include baseMixin.createAnimationTransition(all, .3s); } &.type--card { display: block; position: absolute; top: 0; left: 0; width: 4px; border: 1px solid var(--vxe-ui-font-primary-color); pointer-events: none; z-index: 1; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); transition: color,left 0.3s ease-in-out; } &.type--border-card { display: block; position: absolute; top: 0; left: 0; width: 4px; border-left: 1px solid var(--vxe-ui-input-border-color); border-right: 1px solid var(--vxe-ui-input-border-color); pointer-events: none; z-index: 1; } } .vxe-tabs--default, .vxe-tabs--card, .vxe-tabs--border-card, .vxe-tabs--round-card { border-radius: var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0 0; background-color: var(--vxe-ui-layout-background-color); } .vxe-tabs--default { .vxe-tabs-header--item-inner { border-bottom: 2px solid transparent; } } .vxe-tabs--card { .vxe-tabs-header--bar { border-top: 0; } .vxe-tabs-header--left-bar { border-left: 0; } .vxe-tabs-header--right-bar { border-right: 0; } .vxe-tabs-header { border-radius: var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0 0; border-top: 1px solid var(--vxe-ui-input-border-color); border-left: 1px solid var(--vxe-ui-input-border-color); border-right: 1px solid var(--vxe-ui-input-border-color); .vxe-tabs-header--wrapper { border-radius: var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0 0; } } .vxe-tabs-header--item { border-left: 1px solid var(--vxe-ui-input-border-color); &:first-child { border-left: 0; } &:last-child { border-right: 1px solid var(--vxe-ui-input-border-color); } } } .vxe-tabs--border-card { .vxe-tabs-header--item-wrapper { z-index: 2; } .vxe-tabs-header--bar { border-top: 0; } .vxe-tabs-header--left-bar { border-left: 0; } .vxe-tabs-header--right-bar { border-right: 0; } &.is--padding, &.is--height { .vxe-tabs-pane--item { border-bottom: 1px solid var(--vxe-ui-input-border-color); border-left: 1px solid var(--vxe-ui-input-border-color); border-right: 1px solid var(--vxe-ui-input-border-color); } } .vxe-tabs-pane--item { &.has--content { border-bottom: 1px solid var(--vxe-ui-input-border-color); border-left: 1px solid var(--vxe-ui-input-border-color); border-right: 1px solid var(--vxe-ui-input-border-color); } } .vxe-tabs-header { border-top: 1px solid var(--vxe-ui-input-border-color); border-left: 1px solid var(--vxe-ui-input-border-color); border-right: 1px solid var(--vxe-ui-input-border-color); background-color: var(--vxe-ui-tabs-card-header-background-color); .vxe-tabs-header--wrapper { border-radius: var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0 0; } } .vxe-tabs-header--item { &.is--active { background-color: var(--vxe-ui-layout-background-color); } } } .vxe-tabs--round-card { .vxe-tabs-header--item-wrapper { z-index: 2; } .vxe-tabs-header--item { position: relative; z-index: 2; margin: 0 2px; border-top: 1px solid var(--vxe-ui-input-border-color); border-left: 1px solid var(--vxe-ui-input-border-color); border-right: 1px solid var(--vxe-ui-input-border-color); border-radius: var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0 0; background-color: rgba(0, 0, 0, 0.02); @include baseMixin.createAnimationTransition(color, .3s); &.is--active { background-color: var(--vxe-ui-layout-background-color); } &:first-child { margin-left: 0; } &:last-child { margin-right: 0; } } &.is--padding, &.is--height { .vxe-tabs-pane--item { border-bottom: 1px solid var(--vxe-ui-input-border-color); border-left: 1px solid var(--vxe-ui-input-border-color); border-right: 1px solid var(--vxe-ui-input-border-color); } } .vxe-tabs-pane--item { &.has--content { border-bottom: 1px solid var(--vxe-ui-input-border-color); border-left: 1px solid var(--vxe-ui-input-border-color); border-right: 1px solid var(--vxe-ui-input-border-color); } } .vxe-tabs-pane { background-color: var(--vxe-ui-layout-background-color); } } .vxe-tabs { .vxe-tabs-header--wrapper { height: var(--vxe-ui-tabs-header-height-default); overflow: hidden; } .vxe-tabs-header--item-inner { height: var(--vxe-ui-tabs-header-height-default); } .vxe-tabs-header--active-line { &.type--card { height: calc(var(--vxe-ui-tabs-header-height-default) - 1px); } &.type--border-card { height: calc(var(--vxe-ui-tabs-header-height-default) + 1px); line-height: calc(var(--vxe-ui-tabs-header-height-default) + 1px); } } }