From fc7cd6eaf6812656acf41b250358323a370dfdf3 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 16 Dec 2018 02:02:49 +0300 Subject: [PATCH 1/3] small fix for overflowing tab-switcher --- src/components/tab_switcher/tab_switcher.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/tab_switcher/tab_switcher.scss b/src/components/tab_switcher/tab_switcher.scss index fbd3321b60..fa37349f10 100644 --- a/src/components/tab_switcher/tab_switcher.scss +++ b/src/components/tab_switcher/tab_switcher.scss @@ -9,7 +9,6 @@ .tabs { display: flex; position: relative; - justify-content: center; width: 100%; overflow-y: hidden; overflow-x: auto; From a1d00b9398d711eb42f3bc5da70e5a6d48810154 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 16 Dec 2018 02:07:32 +0300 Subject: [PATCH 2/3] changed bottom-shadow hiding method to be more compatible with overflow --- src/components/tab_switcher/tab_switcher.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/tab_switcher/tab_switcher.scss b/src/components/tab_switcher/tab_switcher.scss index fa37349f10..26b1727ae9 100644 --- a/src/components/tab_switcher/tab_switcher.scss +++ b/src/components/tab_switcher/tab_switcher.scss @@ -13,7 +13,6 @@ overflow-y: hidden; overflow-x: auto; padding-top: 5px; - height: 32px; box-sizing: border-box; &::after, &::before { @@ -33,6 +32,7 @@ border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding: 5px 1em 99px; + margin-bottom: 5px - 99px - 1px; white-space: nowrap; &:not(.active) { From 1b9a5a3efe783ca7cfe53116afc64756eb7a9f04 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 16 Dec 2018 02:35:42 +0300 Subject: [PATCH 3/3] more visual fixes --- src/components/tab_switcher/tab_switcher.jsx | 12 +++-- src/components/tab_switcher/tab_switcher.scss | 51 +++++++++++-------- 2 files changed, 40 insertions(+), 23 deletions(-) diff --git a/src/components/tab_switcher/tab_switcher.jsx b/src/components/tab_switcher/tab_switcher.jsx index 9e3dee049b..2f362c4d0b 100644 --- a/src/components/tab_switcher/tab_switcher.jsx +++ b/src/components/tab_switcher/tab_switcher.jsx @@ -18,12 +18,18 @@ export default Vue.component('tab-switcher', { const tabs = this.$slots.default .filter(slot => slot.data) .map((slot, index) => { - const classes = ['tab'] + const classesTab = ['tab'] + const classesWrapper = ['tab-wrapper'] if (index === this.active) { - classes.push('active') + classesTab.push('active') + classesWrapper.push('active') } - return () + return ( +
+ +
+ ) }); const contents = this.$slots.default.filter(_=>_.data).map(( slot, index ) => { const active = index === this.active diff --git a/src/components/tab_switcher/tab_switcher.scss b/src/components/tab_switcher/tab_switcher.scss index 26b1727ae9..428335c0ea 100644 --- a/src/components/tab_switcher/tab_switcher.scss +++ b/src/components/tab_switcher/tab_switcher.scss @@ -19,46 +19,57 @@ display: block; content: ''; flex: 1 1 auto; - } - - .tab, &::after, &::before { border-bottom: 1px solid; border-bottom-color: $fallback--border; border-bottom-color: var(--border, $fallback--border); } - .tab { + .tab-wrapper { + height: 28px; + overflow: hidden; position: relative; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - padding: 5px 1em 99px; - margin-bottom: 5px - 99px - 1px; - white-space: nowrap; + display: flex; + flex: 0 0 auto; - &:not(.active) { - z-index: 4; + .tab { + width: 100%; + min-width: 1px; + position: relative; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + padding: 6px 1em; + padding-bottom: 99px; + margin-bottom: 6px - 99px; + white-space: nowrap; - &:hover { - z-index: 6; + &:not(.active) { + z-index: 4; + + &:hover { + z-index: 6; + } } + &.active { + background: transparent; + z-index: 5; + } + } + + &:not(.active) { &::after { content: ''; position: absolute; left: 0; right: 0; - top: 26px; + bottom: 0; + z-index: 7; border-bottom: 1px solid; border-bottom-color: $fallback--border; border-bottom-color: var(--border, $fallback--border); } } - - &.active { - background: transparent; - border-bottom: none; - z-index: 5; - } } + } }