tu-view-plus
Version:
502 lines (454 loc) • 12.9 kB
CSS
@charset "UTF-8";
.tu-tabs {
position: relative;
/** types 类型*/
}
.tu-tabs__nav {
display: flex;
align-items: center;
position: relative;
flex-shrink: 0;
}
.tu-tabs__nav-tab {
display: flex;
flex: 1;
overflow: hidden;
padding: 12px;
}
.tu-tabs__nav-tab-list {
position: relative;
display: inline-block;
white-space: nowrap;
transition: transform var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.34, 0.69, 0.1, 1);
}
.tu-tabs__tab {
display: inline-flex;
align-items: center;
box-sizing: border-box;
line-height: 1;
outline: none;
cursor: pointer;
font-size: var(--tu-font-size, 14px);
color: var(--tu-color-text, #71757f);
transition: color var(--tu-transition-duration-2, 0.2s) cubic-bezier(0, 0, 1, 1);
}
.tu-tabs__tab:hover {
color: var(--tu-color-primary, #5e7ce0);
}
.tu-tabs__tab-title {
display: inline-flex;
align-items: center;
}
.tu-tabs__button-close {
margin-left: 5px;
transition: all var(--tu-transition-duration-3, 0.3s);
color: var(--tu-color-text-placeholder, #9b9fa8);
}
.tu-tabs__button-close:hover {
color: var(--tu-color-text, #71757f);
}
.tu-tabs__tab.is-active {
color: var(--tu-color-primary, #5e7ce0);
}
.tu-tabs__nav-tab-indicate {
position: absolute;
top: initial;
right: initial;
bottom: 0;
background-color: var(--tu-color-primary, #5e7ce0);
transition: left var(--tu-transition-duration-4, 0.4s) cubic-bezier(0.34, 0.69, 0.1, 1), width var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.34, 0.69, 0.1, 1);
}
.tu-tabs__nav-button {
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
color: var(--tu-color-text-placeholder, #9b9fa8);
transition: color var(--tu-transition-duration-2, 0.2s);
}
.tu-tabs__nav-button:hover {
color: var(--tu-color-text, #71757f);
}
.tu-tabs__nav-button--left {
margin-right: 6px;
margin-left: 10px;
}
.tu-tabs__nav-button--right {
margin-right: 10px;
margin-left: 6px;
}
.tu-tabs__nav-button--up {
margin-bottom: 6px;
}
.tu-tabs__nav-button--down {
margin-top: 6px;
}
.tu-tabs__nav-button.is-disabled {
color: var(--tu-color-text-placeholder, #9b9fa8);
cursor: not-allowed;
}
.tu-tabs__nav-extra {
display: flex;
align-items: center;
width: auto;
line-height: var(--tu-line-height-base, 1.5);
}
.tu-tabs__button-add {
display: inline-flex;
align-items: center;
cursor: pointer;
color: var(--tu-color-text-placeholder, #9b9fa8);
transition: color var(--tu-transition-duration-2, 0.2s);
}
.tu-tabs__button-add:hover {
color: var(--tu-color-text, #71757f);
}
.tu-tabs__content {
box-sizing: border-box;
width: 100%;
overflow: hidden;
}
.tu-tabs__content-list {
display: flex;
width: 100%;
}
.tu-tabs__pane {
flex-shrink: 0;
width: 100%;
height: 0;
overflow: hidden;
}
.tu-tabs__pane-content {
color: var(--tu-color-text, #71757f);
line-height: var(--tu-line-height-base, 1.5);
font-size: var(--tu-font-size, 14px);
}
.tu-tabs__pane.is-active {
height: auto;
}
.tu-tabs__content-list.is-animation {
transition: all var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.34, 0.69, 0.1, 1);
}
.tu-tabs--horizontal .tu-tabs__nav .tu-tabs__tab {
padding: 6px;
margin: 0 8px;
}
.tu-tabs--horizontal .tu-tabs__nav .tu-tabs__nav-extra {
margin-right: 8px;
}
.tu-tabs--horizontal .tu-tabs__content {
padding: 8px;
}
.tu-tabs--vertical {
padding: 12px 0;
}
.tu-tabs--vertical .tu-tabs__nav {
height: 100%;
position: relative;
box-sizing: border-box;
height: 100%;
flex-direction: column;
}
.tu-tabs--vertical .tu-tabs__nav .tu-tabs__nav-tab {
flex-direction: column;
height: 100%;
}
.tu-tabs--vertical .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__nav-tab-list {
height: auto;
}
.tu-tabs--vertical .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__nav-tab-list .tu-tabs__tab {
display: flex;
margin: 0;
white-space: nowrap;
align-items: center;
padding: 6px;
}
.tu-tabs--vertical .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__nav-tab-list .tu-tabs__tab:not(:first-child) {
margin: 12px 0;
}
.tu-tabs--vertical .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
bottom: initial;
left: initial;
transition: top var(--tu-transition-duration-4, 0.4s) cubic-bezier(0.34, 0.69, 0.1, 1), height var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.34, 0.69, 0.1, 1);
}
.tu-tabs--vertical .tu-tabs__nav .tu-tabs__nav-extra {
margin-top: 8px;
}
.tu-tabs--vertical .tu-tabs__content {
width: auto;
height: 100%;
padding: 6px 12px;
}
.tu-tabs--left .tu-tabs__nav--vertical {
float: left;
}
.tu-tabs--right .tu-tabs__nav--vertical {
float: right;
}
.tu-tabs--default .tu-tabs__nav::before {
content: "";
position: absolute;
right: 0;
bottom: 6px;
left: 0;
display: block;
clear: both;
height: 1px;
background-color: var(--tu-color-line, rgba(128, 128, 128, 0.18));
}
.tu-tabs--default .tu-tabs__nav--horizontal .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
height: 2px;
bottom: -6px;
}
.tu-tabs--default .tu-tabs__nav--vertical::before {
position: absolute;
top: 8px;
bottom: 0;
left: initial;
clear: both;
width: 1px;
height: calc(100% - 16px);
}
.tu-tabs--default .tu-tabs__nav--vertical .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
width: 2px;
}
.tu-tabs--default .tu-tabs__nav--left::before {
right: 0;
}
.tu-tabs--default .tu-tabs__nav--left .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
right: -12px;
}
.tu-tabs--default .tu-tabs__nav--right::before {
left: 0;
}
.tu-tabs--default .tu-tabs__nav--right .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
left: -12px;
}
.tu-tabs--flat {
background-color: var(--tu-color-hover-bg, rgba(125, 125, 125, 0.1));
}
.tu-tabs--flat .tu-tabs__nav::before {
content: "";
position: absolute;
right: 0;
bottom: 6px;
left: 0;
display: block;
clear: both;
height: 1px;
background-color: var(--tu-color-line, rgba(128, 128, 128, 0.18));
}
.tu-tabs--flat .tu-tabs__nav--horizontal .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
height: 2px;
bottom: -6px;
}
.tu-tabs--flat .tu-tabs__nav--vertical::before {
position: absolute;
top: 8px;
bottom: 0;
left: initial;
clear: both;
width: 1px;
height: calc(100% - 16px);
}
.tu-tabs--flat .tu-tabs__nav--vertical .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
width: 2px;
}
.tu-tabs--flat .tu-tabs__nav--left::before {
right: 0;
}
.tu-tabs--flat .tu-tabs__nav--left .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
right: -12px;
}
.tu-tabs--flat .tu-tabs__nav--right::before {
left: 0;
}
.tu-tabs--flat .tu-tabs__nav--right .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
left: -12px;
}
.tu-tabs--card-outset {
border-radius: var(--tu-border-radius, 2px);
box-shadow: 3px 3px 6px var(--tu-color-shadow-dark, #babbc0), -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
}
.tu-tabs--card-outset .tu-tabs__nav .tu-tabs__nav-tab-indicate {
z-index: -1;
background: none;
height: 100%;
top: 0%;
border-radius: var(--tu-border-radius, 2px);
box-shadow: inset 2px 2px 5px var(--tu-color-shadow-dark, #babbc0), inset -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
}
.tu-tabs--card-outset .tu-tabs__nav--vertical .tu-tabs__nav-tab-indicate {
width: 100%;
left: 0;
right: 0;
}
.tu-tabs--card-inset {
border-radius: var(--tu-border-radius, 2px);
box-shadow: inset 2px 2px 5px var(--tu-color-shadow-dark, #babbc0), inset -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
}
.tu-tabs--card-inset .tu-tabs__nav .tu-tabs__nav-tab-indicate {
z-index: -1;
background: none;
height: 100%;
top: 0%;
border-radius: var(--tu-border-radius, 2px);
box-shadow: 3px 3px 6px var(--tu-color-shadow-dark, #babbc0), -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
}
.tu-tabs--card-inset .tu-tabs__nav--vertical .tu-tabs__nav-tab-indicate {
width: 100%;
left: 0;
right: 0;
}
.tu-tabs--slider-outset .tu-tabs__nav .tu-tabs__nav-tab-indicate {
z-index: -1;
background: none;
height: 100%;
top: 0%;
border-radius: var(--tu-border-radius, 2px);
box-shadow: inset 2px 2px 5px var(--tu-color-shadow-dark, #babbc0), inset -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
border-radius: var(--tu-border-radius, 2px);
}
.tu-tabs--slider-outset .tu-tabs__nav--horizontal::after {
position: absolute;
z-index: -1;
content: "";
display: block;
top: 7px;
width: 100%;
height: 36px;
box-shadow: 3px 3px 6px var(--tu-color-shadow-dark, #babbc0), -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
}
.tu-tabs--slider-outset .tu-tabs__nav--vertical::after {
position: absolute;
z-index: -1;
content: "";
display: block;
top: 0px;
width: 90%;
height: 100%;
box-shadow: 3px 3px 6px var(--tu-color-shadow-dark, #babbc0), -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
}
.tu-tabs--slider-outset .tu-tabs__nav--vertical .tu-tabs__nav-tab-indicate {
width: 100%;
left: 0;
right: 0;
}
.tu-tabs--slider-inset .tu-tabs__nav .tu-tabs__nav-tab-indicate {
z-index: -1;
background: none;
height: calc(100% - 2px);
top: calc(0% + 1px);
border-radius: var(--tu-border-radius, 2px);
box-shadow: 3px 3px 6px var(--tu-color-shadow-dark, #babbc0), -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
}
.tu-tabs--slider-inset .tu-tabs__nav--horizontal::after {
position: absolute;
z-index: -1;
content: "";
display: block;
top: 7px;
width: 100%;
height: 36px;
box-shadow: inset 2px 2px 5px var(--tu-color-shadow-dark, #babbc0), inset -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
border-radius: var(--tu-border-radius, 2px);
}
.tu-tabs--slider-inset .tu-tabs__nav--vertical::after {
position: absolute;
z-index: -1;
content: "";
display: block;
top: 0px;
width: 90%;
height: 100%;
box-shadow: inset 2px 2px 5px var(--tu-color-shadow-dark, #babbc0), inset -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
}
.tu-tabs--slider-inset .tu-tabs__nav--vertical .tu-tabs__nav-tab-indicate {
width: 100%;
left: 0;
right: 0;
}
.tu-tabs--text .tu-tabs__nav .tu-tabs__tab {
position: relative;
}
.tu-tabs--text .tu-tabs__nav .tu-tabs__tab:not(:first-of-type)::before {
content: "";
display: block;
position: absolute;
top: 30%;
left: -8px;
width: 1px;
height: 40%;
background-color: var(--tu-color-base-bg, rgba(128, 128, 128, 0.22));
}
.tu-tabs--text .tu-tabs__nav .tu-tabs__nav-tab-indicate {
display: none;
}
.tu-tabs--text .tu-tabs__nav--vertical .tu-tabs__tab:not(:first-of-type)::before {
top: -18%;
left: 10%;
height: 1px;
width: 80%;
}
.tu-tabs--button .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__tab {
position: relative;
}
.tu-tabs--button .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__tab::before {
content: "";
display: block;
position: absolute;
width: 100%;
height: 100%;
left: 0;
box-sizing: border-box;
box-shadow: 3px 3px 6px var(--tu-color-shadow-dark, #babbc0), -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
transition: box-shadow var(--tu-transition-duration-2, 0.2s);
border-radius: var(--tu-border-radius, 2px);
border: 1px solid transparent;
}
.tu-tabs--button .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__tab:hover::before {
box-shadow: none;
border-color: var(--tu-color-shadow-light, #ffffff);
}
.tu-tabs--button .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__tab.is-active::before {
box-shadow: inset 2px 2px 5px var(--tu-color-shadow-dark, #babbc0), inset -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
border: none;
}
.tu-tabs--button .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
display: none;
}
.tu-tabs--button .tu-tabs__nav--vertical .tu-tabs__nav-tab .tu-tabs__tab::before {
height: 100%;
top: 0;
}
.tu-tabs--button-round .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__tab {
position: relative;
}
.tu-tabs--button-round .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__tab::before {
content: "";
display: block;
position: absolute;
width: 100%;
height: 100%;
left: 0;
box-sizing: border-box;
box-shadow: 3px 3px 6px var(--tu-color-shadow-dark, #babbc0), -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
transition: box-shadow var(--tu-transition-duration-2, 0.2s);
border-radius: var(--tu-border-radius-full, 100px);
border: 1px solid transparent;
}
.tu-tabs--button-round .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__tab:hover::before {
box-shadow: none;
border-color: var(--tu-color-shadow-light, #ffffff);
}
.tu-tabs--button-round .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__tab.is-active::before {
box-shadow: inset 2px 2px 5px var(--tu-color-shadow-dark, #babbc0), inset -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
border: none;
}
.tu-tabs--button-round .tu-tabs__nav .tu-tabs__nav-tab .tu-tabs__nav-tab-indicate {
display: none;
}
.tu-tabs--button-round .tu-tabs__nav--vertical .tu-tabs__nav-tab .tu-tabs__tab::before {
height: 100%;
top: 0;
}