UNPKG

zent

Version:

一套前端设计语言和基于React的实现

413 lines (407 loc) 13.7 kB
.zent-tabs { font-size: 14px; line-height: 20px; display: flex; flex-direction: column; } .zent-tabs-panel-wrapper { margin-top: 16px; } .zent-tabs-nav { position: relative; outline: none; display: flex; justify-content: flex-start; box-sizing: border-box; } .zent-tabs-nav-content { flex: 1 1 auto; overflow: hidden; } .zent-tabs-nav-extra-content { display: flex; align-items: center; margin-left: 8px; } .zent-tabs-nav-tabs-content-add, .zent-tabs-nav-tabs-content-slide, .zent-tabs-nav-tabs-content-anchor { width: 100%; display: flex; flex-grow: 1; align-items: flex-end; overflow: hidden; white-space: nowrap; position: relative; height: 40px; } .zent-tabs-nav-tabs-content-add-main, .zent-tabs-nav-tabs-content-slide-main, .zent-tabs-nav-tabs-content-anchor-main { display: flex; transition: transform 200ms cubic-bezier(0.65, 0, 0.35, 1); } .zent-tabs-nav-tabs-content-add-main--has-add .zent-tabs-tab.zent-tabs-tab-type__card:last-child, .zent-tabs-nav-tabs-content-slide-main--has-add .zent-tabs-tab.zent-tabs-tab-type__card:last-child, .zent-tabs-nav-tabs-content-anchor-main--has-add .zent-tabs-tab.zent-tabs-tab-type__card:last-child { border-top-right-radius: 0; } .zent-tabs-nav-tabs-content-add__add-btn, .zent-tabs-nav-tabs-content-slide__add-btn, .zent-tabs-nav-tabs-content-anchor__add-btn { border-color: #e0e0e0; border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); background-color: #f7f7f7; background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7)); display: flex; justify-content: center; align-items: center; width: 36px; height: 100%; font-size: 20px; border-top-width: 1px; border-bottom-width: 1px; border-right-width: 1px; border-style: solid; border-top-right-radius: 2px; box-sizing: border-box; cursor: pointer; } .zent-tabs-nav-tabs-content-add .zent-tabs-tab, .zent-tabs-nav-tabs-content-slide .zent-tabs-tab, .zent-tabs-nav-tabs-content-anchor .zent-tabs-tab { flex-shrink: 0; } .zent-tabs-nav-tabs-content-add-left::before, .zent-tabs-nav-tabs-content-slide-left::before, .zent-tabs-nav-tabs-content-anchor-left::before { content: ""; position: absolute; z-index: 1; width: 5px; height: 100%; box-shadow: inset 5px 0 5px -5px #ccc; box-shadow: inset 5px 0 5px -5px var(--theme-disabled-color, var(--theme-stroke-4, #ccc)); left: 0; } .zent-tabs-nav-tabs-content-add-right::after, .zent-tabs-nav-tabs-content-slide-right::after, .zent-tabs-nav-tabs-content-anchor-right::after { content: ""; position: absolute; z-index: 1; width: 5px; height: 100%; box-shadow: inset -5px 0 5px -5px #ccc; box-shadow: inset -5px 0 5px -5px var(--theme-disabled-color, var(--theme-stroke-4, #ccc)); right: 0; } .zent-tabs-nav-tabs-content-add-option, .zent-tabs-nav-tabs-content-slide-option, .zent-tabs-nav-tabs-content-anchor-option { background-color: #fff; background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff)); height: 100%; display: flex; align-items: center; } .zent-tabs-nav-tabs-content-add-option .zenticon, .zent-tabs-nav-tabs-content-slide-option .zenticon, .zent-tabs-nav-tabs-content-anchor-option .zenticon { color: #333; color: var(--theme-title-color, var(--theme-stroke-1, #333)); padding: 0 6px; font-size: 20px; } .zent-tabs-nav-tabs-content-add-option .zenticon-more, .zent-tabs-nav-tabs-content-slide-option .zenticon-more, .zent-tabs-nav-tabs-content-anchor-option .zenticon-more { font-size: 24px; padding: 7px; } .zent-tabs-nav-tabs-content-add-option .zenticon + .zenticon, .zent-tabs-nav-tabs-content-slide-option .zenticon + .zenticon, .zent-tabs-nav-tabs-content-anchor-option .zenticon + .zenticon { margin-left: 4px; } .zent-tabs-nav-tabs-content-add-option .icon-disabled, .zent-tabs-nav-tabs-content-slide-option .icon-disabled, .zent-tabs-nav-tabs-content-anchor-option .icon-disabled { color: #ccc; color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc)); cursor: not-allowed; } .zent-tabs-nav-tabs-content-add-option__add-btn, .zent-tabs-nav-tabs-content-slide-option__add-btn, .zent-tabs-nav-tabs-content-anchor-option__add-btn { background-color: #fff; background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff)); border-top-width: 0; border-right-width: 0; cursor: pointer; } .zent-tabs-nav-tabs-content-add-option--right, .zent-tabs-nav-tabs-content-slide-option--right, .zent-tabs-nav-tabs-content-anchor-option--right { box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.1); } .zent-tabs-scroll { white-space: nowrap; overflow-x: auto; display: flex; } .zent-tabs-tab { color: #333; color: var(--theme-title-color, var(--theme-stroke-1, #333)); position: relative; cursor: pointer; box-sizing: border-box; text-align: center; } .zent-tabs-tab__actions { color: #999; color: var(--theme-hint-color, var(--theme-stroke-3, #999)); background-image: linear-gradient(270deg, white 0%, white 81%, transparent 100%); position: absolute; height: calc(100% - 2px); top: 50%; right: 4px; transform: translateY(-50%); padding-left: 4px; font-size: 14px; display: flex; align-items: center; } .zent-tabs-tab__actions:not(.zent-tabs-tab-actions--fixed) { display: none; } .zent-tabs-tab__actions > span:hover { color: #333; color: var(--theme-title-color, var(--theme-stroke-1, #333)); line-height: 1; } .zent-tabs-tab__actions__fixed { margin-left: 4px; } .zent-tabs-tab-actions--fixed .zent-tabs-tab__actions__fixed > i { transform: rotate(-45deg); } .zent-tabs-tab:hover { color: #333; color: var(--theme-title-color, var(--theme-stroke-1, #333)); } .zent-tabs-tab:hover .zent-tabs-tab__actions { display: flex; } .zent-tabs-tab__actived { color: #333; color: var(--theme-title-color, var(--theme-stroke-1, #333)); background-color: #fff; background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff)); } .zent-tabs-tab__disabled { color: #ccc; color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc)); } .zent-tabs-tab__disabled.zent-tabs-tab { cursor: not-allowed; } .zent-tabs-tab__disabled.zent-tabs-tab:hover { color: #ccc; color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc)); } .zent-tabs-hidden-tabs { background-color: #fff; background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff)); box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.1); box-shadow: var(--shadow-spec-modal, 0 2px 24px 0 rgba(var(--theme-rgb-shadow-bg, 0, 0, 0), 0.1)); width: 148px; border-radius: 2px; max-height: 256px; overflow-y: scroll; } .zent-tabs-hidden-tab { padding: 6px 12px; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .zent-tabs-hidden-tab:hover { background-color: #f7f7f7; background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7)); } .zent-tabs-hidden-tab-disabled { color: #ccc; color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc)); } .zent-tabs-hidden-tab-disabled:hover { background-color: #fff; background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff)); cursor: not-allowed; } .zent-tabs-nav-type__normal { border-bottom-color: #e0e0e0; border-bottom-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); border-bottom-width: 1px; border-bottom-style: solid; height: 40px; } .zent-tabs-nav-type__normal.zent-tabs-nav__stretch .zent-tabs-tab { flex: 1 1 auto; } .zent-tabs-nav-type__normal .zent-tabs-nav-content { margin-bottom: -1px; } .zent-tabs-nav-type__normal .zent-tabs-tab { padding: 0 20px; } .zent-tabs-nav-type__normal .zent-tabs-tab-inner { min-width: 56px; line-height: 40px; text-align: center; height: 40px; box-sizing: border-box; } .zent-tabs-nav-type__normal .zent-tabs-tab__actived { border-bottom-color: #e0e0e0; border-bottom-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); border-bottom-width: 1px; border-bottom-style: solid; } .zent-tabs-nav-type__normal .zent-tabs-tab__actived .zent-tabs-tab-inner { border-bottom-color: #155bd4; border-bottom-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4)); border-bottom-width: 2px; border-bottom-style: solid; margin-bottom: -1px; } .zent-tabs-nav-type__card { border-bottom-color: #e0e0e0; border-bottom-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); border-bottom-width: 1px; border-bottom-style: solid; height: 40px; } .zent-tabs-nav-type__card.zent-tabs-nav__stretch .zent-tabs-tab { flex: 1 1 auto; } .zent-tabs-nav-type__card .zent-tabs-nav-content { margin-bottom: -1px; } .zent-tabs-nav-type__card .zent-tabs-tab { border-color: #e0e0e0; border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); border-width: 1px; border-style: solid; background-color: #f7f7f7; background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7)); border-left: 0; height: 40px; box-sizing: border-box; padding: 0 20px 0 19px; } .zent-tabs-nav-type__card .zent-tabs-tab:not(.zent-tabs-tab__actived) .zent-tabs-tab__actions { background-image: linear-gradient(90deg, transparent 0%, #f7f7f7 19%); } .zent-tabs-nav-type__card .zent-tabs-tab:hover:not(.zent-tabs-tab__actived) .zent-tabs-tab__actions { background-image: linear-gradient(90deg, transparent 0%, #f0f0f0 19%); } .zent-tabs-nav-type__card .zent-tabs-tab-inner { min-width: 56px; line-height: 38px; text-align: center; } .zent-tabs-nav-type__card .zent-tabs-tab:hover { background-color: rgba(0, 0, 0, 0.05); } .zent-tabs-nav-type__card .zent-tabs-tab:first-child { border-left-color: #e0e0e0; border-left-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); border-left-width: 1px; border-left-style: solid; border-top-left-radius: 4px; } .zent-tabs-nav-type__card .zent-tabs-tab:last-child { border-top-right-radius: 4px; } .zent-tabs-nav-type__card .zent-tabs-tab__actived { background-color: #fff; background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff)); border-bottom-color: transparent; } .zent-tabs-nav-type__card .zent-tabs-tab__actived:hover { background-color: #fff; background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff)); } .zent-tabs-nav-type__card .zent-tabs-tab__disabled:hover { background-color: #f7f7f7; background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7)); } .zent-tabs-nav-type__button.zent-tabs-nav__stretch .zent-btn { flex: 1 1 auto; } .zent-tabs-nav-type__button .zent-tabs-tab { background-color: #fff; background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff)); color: #999; color: var(--theme-hint-color, var(--theme-stroke-3, #999)); border-color: #e0e0e0; border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); border-width: 1px; border-style: solid; min-width: 80px; height: 32px; } .zent-tabs-nav-type__button .zent-tabs-tab-inner { min-width: 14px; line-height: 30px; padding: 0 20px; } .zent-tabs-nav-type__button .zent-tabs-tab:not(:first-child) { margin-left: -1px; } .zent-tabs-nav-type__button .zent-tabs-tab:first-child { border-radius: 2px 0 0 2px; } .zent-tabs-nav-type__button .zent-tabs-tab:last-child { border-radius: 0 2px 2px 0; } .zent-tabs-nav-type__button .zent-tabs-tab:hover:not(.zent-tabs-tab__disabled) { color: #155bd4; color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4)); } .zent-tabs-nav-type__button .zent-tabs-tab__actived { background-color: #e6efff; background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff)); border-color: #155bd4; border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4)); color: #155bd4; color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4)); z-index: 1; } .zent-tabs-nav-type__button .zent-tabs-tab__disabled { background-color: #f7f7f7; background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7)); color: #ccc; color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc)); } .zent-tabs-type__vertical { flex-direction: row; } .zent-tabs-type__vertical .zent-tabs-panel-wrapper { margin: 14px 16px; } .zent-tabs-type__vertical .zent-tabs-nav-type__vertical { border-right-color: #e0e0e0; border-right-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0)); border-right-width: 1px; border-right-style: solid; width: 96px; padding: 14px 7px 14px 0; } .zent-tabs-type__vertical .zent-tabs-nav-type__vertical .zent-tabs-scroll { overflow-x: hidden; overflow-y: auto; width: 103px; flex-direction: column; } .zent-tabs-type__vertical .zent-tabs-nav-type__vertical .zent-tabs-divide { border-bottom-color: #e0e0e0; border-bottom-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0)); border-bottom-width: 1px; border-bottom-style: solid; margin: 21.5px 0 17.5px; } .zent-tabs-type__vertical .zent-tabs-nav-type__vertical .zent-tabs-tab { display: block; text-align: left; margin-top: 4px; } .zent-tabs-type__vertical .zent-tabs-nav-type__vertical .zent-tabs-tab:first-child { margin-top: 0; } .zent-tabs-type__vertical .zent-tabs-nav-type__vertical .zent-tabs-tab__actived .zent-tabs-tab-inner { background-color: #e0e0e0; background-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0)); } .zent-tabs-type__vertical .zent-tabs-nav-type__vertical .zent-tabs-tab-inner { border-radius: 2px; padding: 8px; overflow: hidden; width: 86px; box-sizing: border-box; text-overflow: ellipsis; }