diff --git a/packages/tabs/src/tab-bar.vue b/packages/tabs/src/tab-bar.vue index bf2d871567..39a106e7e7 100644 --- a/packages/tabs/src/tab-bar.vue +++ b/packages/tabs/src/tab-bar.vue @@ -32,16 +32,17 @@ return true; } else { tabSize = $el[`client${firstUpperCase(sizeName)}`]; + const tabStyles = window.getComputedStyle($el); if (sizeName === 'width' && this.tabs.length > 1) { - tabSize -= (index === 0 || index === this.tabs.length - 1) ? 20 : 40; + tabSize -= parseFloat(tabStyles.paddingLeft) + parseFloat(tabStyles.paddingRight); + } + if (sizeName === 'width') { + offset += parseFloat(tabStyles.paddingLeft); } return false; } }); - if (sizeName === 'width' && offset !== 0) { - offset += 20; - } const transform = `translate${firstUpperCase(sizeDir)}(${offset}px)`; style[sizeName] = tabSize + 'px'; style.transform = transform;