diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css index ce1fbf43e83..c6b33c86003 100644 --- a/browser/themes/windows/browser.css +++ b/browser/themes/windows/browser.css @@ -123,10 +123,13 @@ * text and icons to not appear fuzzy. */ @media (-moz-windows-classic) { - #main-window[tabsintitlebar]:not([sizemode=fullscreen]) .tabbrowser-tab:not([selected=true]), - #main-window[tabsintitlebar]:not([sizemode=fullscreen]) .tabs-newtab-button { + /** + * We need to bump up the z-index of the tabbrowser-tabs so that they appear + * over top of the fog we're applying for classic themes, as well as the nav-bar. + */ + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) #tabbrowser-tabs { position: relative; - z-index: 1; + z-index: 2; } #main-window[tabsintitlebar] #TabsToolbar:not(:-moz-lwtheme) { @@ -150,7 +153,6 @@ pointer-events: none; top: 100%; width: -moz-available; - z-index: 0; } #main-window[tabsintitlebar]:not([sizemode=fullscreen]) #TabsToolbar:not(:-moz-lwtheme):-moz-window-inactive::after { @@ -167,17 +169,31 @@ overflow: -moz-hidden-unscrollable; } - #main-window[tabsintitlebar][sizemode=normal] .tabbrowser-arrowscrollbox > .arrowscrollbox-scrollbox > .scrollbox-innerbox:not(:-moz-lwtheme) { - position: relative; + /** + * When the tabstrip is overflowed, pinned tab separators get position: absolute, + * which makes the pinned tab separators leak over the nav-bar highlight. Forcing + * the element to snap to the bottom of the client rect works around the issue. + */ + #main-window[tabsintitlebar] #tabbrowser-tabs[positionpinnedtabs] > .tabbrowser-tab[pinned]::before { + bottom: 0px; } - #main-window[tabsintitlebar]:not([sizemode=fullscreen]) #TabsToolbar .toolbarbutton-1, - #main-window[tabsintitlebar]:not([sizemode=fullscreen]) .tabbrowser-arrowscrollbox > .scrollbutton-up, - #main-window[tabsintitlebar]:not([sizemode=fullscreen]) .tabbrowser-arrowscrollbox > .scrollbutton-down { + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) #TabsToolbar .toolbarbutton-1 { position: relative; z-index: 1; } + /** + * With the tabbrowser-tabs element z-index'd above the nav-bar, we now get the + * scrollbox button borders leaking over the nav-bar highlight. This transparent bottom + * border forces the scrollbox button borders to terminate a pixel early, working + * around the issue. + */ + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) .tabbrowser-arrowscrollbox > .scrollbutton-up, + #main-window[tabsintitlebar]:not([sizemode=fullscreen]) .tabbrowser-arrowscrollbox > .scrollbutton-down { + border-bottom: 1px solid transparent; + } + #main-window[tabsintitlebar]:not([inFullscreen]) .tab-close-button:not(:-moz-any(:hover,:-moz-lwtheme,[selected="true"])) { -moz-image-region: rect(0, 64px, 16px, 48px); }