Tabbreite

  • Hallo

    Hatte mir bis FF57 mit folgendem Code die Tabs in unterschiedlichen Breiten anzeigen lassen. Aktiver Tab breit und inaktiver Tab schmal.

    Das funktioniert seit FF58 nicht mehr, die Zeilen für den inaktiven Tab haben keine Wirkung mehr

    Hab den Code für FF58 geändert funktioniert aber auch nicht richtig.

    Die inaktiven Tabs sind jetzt zwar schmal, aber beim Schließen von Tabs bleiben immer irgendwelche Lücken zwischen den verbleibenden Tabs.

    Heißt, die restlichen Tabs rutschen nicht zusammen.

    Gibt’s da eine Lösungsmöglichkeit?

    Code bis 57

    CSS
    #main-window .tabbrowser-tabs:not([drag=detach]) > .tabbrowser-tab:not([pinned])[fadein]
     {min-width: 39px !important;
    max-width: 40px !important;}
    
    
    #main-window .tabbrowser-tab[selected="true"]
    {min-width: 275px !important;
    max-width: 275px !important;}

    Code FF58

    CSS
    #main-window .tabbrowser-tab
    {min-width: 39px !important;
    max-width: 40px !important;} 
    
    
    #main-window .tabbrowser-tab[selected="true"]
    {min-width: 275px !important;
    max-width: 275px !important;}
  • Ja, man kann die inaktiven Tabs auch so ansprechen

    .tabbrowser-tab:not([selected="true"])

    Auch hier ist die Breite dann richtig, aber das Einrückverhalten funktioniert nicht richtig.

  • In den Browser-Tool sehe ich: Die gelöschten Tabs sind noch da aber ohne Hintergrundfarbe... deshalb die Lücken. hmmm

    Der Neuer-Tab-Button ist jetzt ganz weit rechts...

    Gruß Harry

    FF aktuell, 64Bit, Linux, Manjaro mit KDE


  • Ich habe den Code eben mal getestet, der funktioniert hier einwandfrei, und es bleibt auch kein Leerraum nach Schließen des aktiven Tabs.

    Da funkt dir bestimmt etwas anderes dazwischen.

    Nutzt Du Windows 7 oder Windows 10?
    Es ist nämlich (wahrscheinlich/eventuell/womöglich) so:

    Ich habe Windows 7, und da habe ich in meiner userChrome.css folgendes stehen:

    /* ### Abstand zwischen den TABs (normal 0px) - Breite wenn Platz ist (normal 280px) ### */
    /* ### Unter Windows 10 funktioniert das nicht. Da besser mit about:config browser.tabs.tabMinWidth auf 280 stellen ### */
    .tabs-newtab-button,
    .tabbrowser-tab:not([pinned]) {
    -moz-margin-start: 0px !important;
    max-width: 280px !important;
    }

    Das ermöglicht zwar nicht unterschiedliche Breiten in aktiven/inaktiven Tabs, aber immerhin...


  • In den Browser-Tool sehe ich: Die gelöschten Tabs sind noch da aber ohne Hintergrundfarbe... deshalb die Lücken. hmmm

    Hallo, wo siehst Du denn das?


    Das ermöglicht zwar nicht unterschiedliche Breiten in aktiven/inaktiven Tabs, aber immerhin...

    Hallo, genau das hätte Ich aber gerne wieder.
    Ging ja auch bis FF57.


    Ich habe den Code eben mal getestet, der funktioniert hier einwandfrei, und es bleibt auch kein Leerraum nach Schließen des aktiven Tabs.

    Konntest Du das Problem nachvollziehen?
    Also wenn inaktive Tabs in einer Reihe vieler Tabs gelöscht werden bleiben Lücken.

    Ist zum Beispiel der zweite Tab aktiv und man löscht den ersten Tab (inaktiv) rutschen die Tabs nicht nach links.
    Selbst wenn alle Tabs dann geschlossen sind bis auf einen bleibt Links die Lücke vom ersten inaktiven Tab der geschlossen wurde.

  • Wenn man so ein paar Tabs zu und doch nicht zu hat, dann Menü - Web-Entwickler - Browser--Werkzeuge und dann suchen... alles der Reihe nach aufklappen bis man die #TabsToolbar hat (oder diese suchen lassen) und dann darunter die Tabs ansehen. Dann sieht man auch die an sich geschlossenen Tabs - noch offen aber ohne Hintergrund. Die sollten da eigentlich gar nicht mehr auftauchen. Andreas hat das bestimmt auch so gesehen...

    Gruß Harry

    FF aktuell, 64Bit, Linux, Manjaro mit KDE

  • Hiermit geht es:

    Ich hatte mir das Tab, das beim Schließen die Lücke hinterließ, angeschaut:

    Da stand:

    Code
    .tabbrowser-tab:not([pinned]):not([fadein]) {
    visibility: hidden;

    und außerdem zwei ziemlich kleine Werte für min-width und max-width.

    Jedenfalls ist "visibility: hidden" was ganz anderes als "display: none".
    Das eine bedeutet soviel wie: Mach das Element transparent.
    Und das andere bedeutet: Tu so, als sei das Element nicht existent.

    Ob sich die Entwickler was bei dem "visibility:hidden" gedacht haben, weiß ich allerdings nicht. "Nicht eingeblendet", also "not fade in" ist ja nicht dasselbe wie "geschlossen" / closed.

    Übrigens:

    [selected="true"] / not:([selected="true"]) kann man sich sparen.
    [selected] / not:([selected]) geht auch und sieht schöner aus.

  • Ja, das sieht gut aus! Es ist aber auch nur ein Flicken... die Tabs sind in den Browser-Tools immer noch vorhanden, nur unsichtbar. Normalerweise wären sie aber weg. So würden sich mit der Zeit evt. hunderte gelöschter Tabs da ansammeln, ob das gut ist? hmmm... Das löschen der Tabs bekommen wir mit CSS vermutlich nicht hin, vermutlich nur per Script??? Aber wodurch wird das löschen der Tabs nur verhindert? Sehr seltsam...

    Gruß Harry

    FF aktuell, 64Bit, Linux, Manjaro mit KDE

  • Ja, ist sehr seltsam. Insbesondere, weil das ja nicht passiert, wenn man einen selektierten Tab schließt.

  • In dem Zusammenhang fällt mir gerade eine weitere Merkwürdigkeit auf, wobei die userChrome.css mit dem Code, den ich oben gepostet habe, gerade aktiv ist:

    Ich habe drei Tabs geöffnet.

    Wenn der erste Tab selektiert ist, sind auf allen drei Tabs die Schließen-Buttons sichtbar.
    Wenn der mittlere oder der letzte Tab selektiert ist, ist der Schließen-Button nur auf ihm sichtbar.

  • Passiert auch ohne Veränderung der Minimal-Breite, also auch ohne den o. g. Code. Ich denke, das ist ein Bug, weil das von mir beschriebene Verhalten sinnlos ist. Aber es müsste sich über die userChrome.css beheben lassen, denn man kann die Tabs glücklicherweise sehr gezielt mit Attribut-Selektoren ansprechen.