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);