@include extjs-button-base( $base-cls: 'tab', $btn-display: block, $include-arrows: false, // Tabs do not use flexbox because resulting sub-pixel rounding errors can cause off- // by-one measurements in the tab bar's box layout. This can result in odd visual effects // such as an extra pixel of space in between the tab and tab bar in certain combinations // of tab rotation/position. To be on the safe side we'll just stick to table-based // layouts for tabs $flexbox: false ); .#{$prefix}tab { z-index: 1; } .#{$prefix}tab-active { z-index: 3; } .#{$prefix}tab-button { // tab-button needs position relative because it contains an absolutely positioned // pseudo element to hold the focus outline in classic themes position: relative; } .#{$prefix}tab-close-btn { display: block; position: absolute; overflow: hidden; font-size: 0; line-height: 0; } .#{$prefix}tab-rotate-left { @include rotate-element($angle: 270); @if $include-rtl { &.#{$prefix}rtl { @include rotate-element($angle: 90); } } } .#{$prefix}tab-rotate-right { @include rotate-element($angle: 90); @if $include-rtl { &.#{$prefix}rtl { @include rotate-element($angle: 270); } } } // the corner elements of tabs can gain extra height when rotated. // setting width: 1px prevents this .#{$prefix}tab-tr, .#{$prefix}tab-br, .#{$prefix}tab-mr, .#{$prefix}tab-tl, .#{$prefix}tab-bl, .#{$prefix}tab-ml { width: 1px; }