diff --git a/packages/tabs/src/tab-bar.vue b/packages/tabs/src/tab-bar.vue
index 2d627aa0f..29eae117c 100644
--- a/packages/tabs/src/tab-bar.vue
+++ b/packages/tabs/src/tab-bar.vue
@@ -3,9 +3,12 @@
\ No newline at end of file
diff --git a/packages/tabs/src/tabs.vue b/packages/tabs/src/tabs.vue
index 26982d313..76cf9cc61 100644
--- a/packages/tabs/src/tabs.vue
+++ b/packages/tabs/src/tabs.vue
@@ -1,10 +1,11 @@
diff --git a/packages/theme-default/src/tabs.css b/packages/theme-default/src/tabs.css
index 7ffd3b5dd..89d787b2f 100644
--- a/packages/theme-default/src/tabs.css
+++ b/packages/theme-default/src/tabs.css
@@ -8,7 +8,6 @@
padding: 0;
position: relative;
margin: 0 0 15px;
- @utils-clearfix;
}
@e active-bar {
position: absolute;
@@ -20,8 +19,8 @@
transition: transform .3s cubic-bezier(.645,.045,.355,1);
list-style: none;
}
- @e new-button {
- float: left;
+ @e new-tab {
+ float: right;
border: 1px solid #d3dce6;
height: 18px;
width: @height;
@@ -42,16 +41,46 @@
color: var(--color-primary);
}
}
+ @e nav-wrap {
+ overflow: hidden;
+ margin-bottom: -1px;
+ position: relative;
+
+ @when scrollable {
+ padding: 0 15px;
+ }
+ }
+ @e nav-scroll {
+ overflow: hidden;
+ }
+ @e nav-next, nav-prev {
+ position: absolute;
+ cursor: pointer;
+ line-height: 44px;
+ font-size: 12px;
+ color: var(--color-base-silver);
+ }
+ @e nav-next {
+ right: 0;
+ }
+ @e nav-prev {
+ left: 0;
+ }
+ @e nav {
+ white-space: nowrap;
+ position: relative;
+ float: left;
+ transition: transform .3s;
+ }
@e item {
padding: 0 16px;
height: 42px;
box-sizing: border-box;
line-height: @height;
- float: left;
+ display: inline-block;
list-style: none;
font-size: 14px;
color: var(--color-base-silver);
- margin-bottom: -1px;
position: relative;
& .el-icon-close {
@@ -89,10 +118,10 @@
position: relative;
}
@m card {
- &>.el-tabs__header>.el-tabs__active-bar {
+ .el-tabs__nav .el-tabs__active-bar {
display: none;
}
- &>.el-tabs__header>.el-tabs__item .el-icon-close {
+ .el-tabs__nav .el-tabs__item .el-icon-close {
position: relative;
font-size: 12px;
width: 0;
@@ -104,7 +133,7 @@
right: -2px;
transform-origin: 100% 50%;
}
- &>.el-tabs__header>.el-tabs__item {
+ .el-tabs__nav .el-tabs__item {
border: 1px solid transparent;
transition: all .3s cubic-bezier(.645,.045,.355,1);