1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. TEST - camp-firefox.de
  2. Horstmann

Beiträge von Horstmann

  • Tabform

    • Horstmann
    • 2. November 2023 um 16:11
    Zitat von Mira_Belle

    Gib mir doch bitte mal Deine Vektorgrafiken.

    Tab-corner-left2a.svg & Tab-corner-top2.svg

    Die Grafiken sind ganz unten hier anghängt, hast du die benutzt?

    Gehören dann in den Ordner Icons im Profilordner, bzw den Ordener in dem die zugehörige CSS Datei ist.

    Was den Code angeht, ich denke nicht dass du nur einen Teil benutzen kannst, falls du das probiert hast.

    Zumindest für diesen Test ist das meiste miteinander verbunden, also alles oder nix. ;)

    Abgesehen von deinem Code für Tabs unten, wobei da auch nichts drin sein darf was die Tab Höhe etc. beeinflusst, sonst passt es nicht.

    In meinem Beispiel wird die Höhe der Tableiste auch etwas verringert; das kann ich rauseditieren und anderen Einträge universeller machen, aber erstmal ist es so im Testcode.

    Ich hätte hier noch einen leicht variierten Code, mit neuen .svgs; immer noch in der Testphase und etwas wirr; die Icons hänge ich als zip ganz unten an.

    CSS
    /*  ERSETZEN mit eigenem Code für Tabs unten  */ 
    
    #titlebar {
        order: 1 !important;
    } 
    
    /*  ERSETZEN ENDE  */
    
    
    /* only test outline for button position */
    
    /*
    :is(#scrollbutton-up, #scrollbutton-down) {
        outline: 1px solid white !important;
        outline-offset: -5px !important;
    }
    
    #TabsToolbar toolbarbutton > .toolbarbutton-icon, 
    #TabsToolbar toolbarbutton > .toolbarbutton-badge-stack {
        outline: 1px solid yellow !important;
        outline-offset: -1px !important;
    }
    
     #TabsToolbar {
        outline: 1px solid hsla(0, 0%, 100%, 0.75) !important;
        outline-offset: -13px !important;
    } 
    */
    
    
    :root {
    
    /* Ecken ohne svg/  Radius */
        /*--ug-radius: 18px;*/
        --ug-radius: 20px;
    
    /* Rand Farben: Schatten, Borders / svgs */
        --ug-color-border: hsla(0, 0%, 83%, 0.5);
        --ug-stroke_lite: hsla(0, 0%, 83%, 0.35);
        --ug-stroke: hsla(0, 0%, 83%, 0.5);
    
    
    /*  Farben tab hg:  basic / selected / hover */
        --ug-color1: hsla(0, 0%, 83%, 0.25);
        --ug-color2:  hsla(35, 80%, 60%, 0.25);
        --ug-color_hova: hsla(0, 0%, 50%, 0.25);
    
    /* tab bar rand unten Farbe */
        --ug-color3: hsla(0, 0%, 83%, 0.75);
    }
    
    
    
    
     #TabsToolbar {
        -moz-context-properties: fill, stroke, stroke-opacity !important;
        background-image: linear-gradient(to top, 
            var(--ug-color3) 1px, transparent 1px) !important;
    } 
    
    
    /* buttons adjust position */
    
    
    /* kleiner by -x , 10px default normal */
    #TabsToolbar {
        /*--toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2);*/ /* default */
        --toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2 - 2px) !important;
    }
    
    #TabsToolbar toolbarbutton {
        margin-top: -0px !important;
    }
    
    .tab-label, .tab-close-button {
        text-shadow: none  !important;
    }
    
    /*
    #tabbrowser-tabs {
        --ug_margin_plus: 1px -1px;
    }
    :is(#scrollbutton-up, #scrollbutton-down) {
        margin-block:  var(--ug_margin_plus) !important;
    }
    */
    
    .tab-content {
        margin-top: 3px !important;
    }
    
    .tabbrowser-tab:is([visuallyselected], [multiselected]) {
       z-index: 2 !important;
    }
    
    
    /* tabs distance */
    
    .tabbrowser-tab:not([pinned]) {
        padding-inline: 2px !important;
        overflow: visible !important;
    }
    
    
    /* Annoying fix to prevent hovering of last tab to trigger tab overflow, better solution wanted */
    
    .tabbrowser-tab:last-of-type {
        /*margin-inline-end: 18px !important;*/
        margin-inline-end: 11px !important;
    }
    
    /* close button, not overflow */
    
    #tabbrowser-arrowscrollbox-periphery #tabs-newtab-button .toolbarbutton-icon {
        /*margin-left: -14px !important;*/
        border-radius: 50% !important;
    }
    
    
                                                               /*** tabs base ***/
    
    
    /* tabs connected bottom, tab bar height reduced ?  */
    
    .tab-background {
        margin-block: 4px 0px !important;
        /*margin-block: 8px 0px !important;
        min-height: 40px !important;*/
    }
    
    .tabbrowser-tab .tab-background {
        background-color: var(--ug-color1) !important;
    
        /*box-shadow: none !important;*/
        box-shadow: inset 0 1px 0px var(--ug-stroke_lite) !important;
        /*background-image: linear-gradient(to bottom, var(--ug-stroke_lite), transparent 1px) !important;*/
    
        /*border-image: linear-gradient(to top, 
                               var(--ug-color1), var(--ug-color1)) 1 / 0 0 1px 0  !important;
        border-image-outset: 0 1px !important;*/
        fill: var(--ug-color1, transparent) !important;
        /*stroke: var(--ug-stroke) !important;*/
        outline: none !important;
        /*min-height: calc(var(--tab-min-height) - 1px) !important;*/
        /*box-shadow:  inset 0px 1px var(--ug-color-border) !important;*/
    }
    
    
    /* tabs selected */
    
    .tabbrowser-tab:is([visuallyselected], [multiselected]) .tab-background {
        background-image: none !important;
        background-color: var(--ug-color2) !important;
        fill: var(--ug-color2, transparent) !important;
    }
    
    /* tabs unselected hover */
    
    .tabbrowser-tab:not([visuallyselected], [multiselected]):hover .tab-background {
        background-color: var(--ug-color_hova) !important;
        fill: var(--ug-color_hova) !important;
    }
    
                                                               /*** tabs Radien, borders ***/
    
    /*   basis   */
    .tabbrowser-tab .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) var(--ug-radius)  0 !important;
        border: 1px solid var(--ug-color-border) !important;
        border-bottom: none !important;
    }
    
    .tabbrowser-tab:not([pinned]) .tab-background {
        border-left: none !important;
    }
    
    /*   selected , pinned  */
    .tabbrowser-tab:is([visuallyselected], [pinned]) .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
    }
    
    /*   selected  border   */
    .tabbrowser-tab[visuallyselected]:not([pinned]) .tab-background {
        border-inline: none !important;
        /*border: none !important;*/
    }
    
    /*   not selected -> nach selected  */
    
    .tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]) .tab-background {
        border-radius: var(--ug-radius) !important;
        border-left: 1px solid var(--ug-color-border) !important;
    }
    
    /*   not selected last */
    .tabbrowser-tab:last-of-type .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
        border-inline: none !important;
    }
    
    /*   not selected last -> nach selected  */
    .tabbrowser-tab:is([visuallyselected]) + .tabbrowser-tab:not([visuallyselected]):last-of-type .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 var(--ug-radius) !important;
        border-right: none !important;
    }
    
    
    
                                                               /***  tabs corners  ***/
    
    /*  base  */
    .tabbrowser-tab:not([pinned]) .tab-background::before, 
    .tabbrowser-tab:not([pinned]) .tab-background::after {
        content: "";
        width: 38px !important;
        height: 38px !important;
        position: absolute;
        bottom: -2px;
        background-repeat: no-repeat !important;
        background-position: bottom left !important;
        stroke: var(--ug-stroke) !important;
    }
    
    /*  left  */
    .tabbrowser-tab:not([pinned]) .tab-background::before {
        left: -19px;
        background-image: url(icons/Tab-corner-left2aTest.svg),
                                        url(icons/Tab-corner-top2Test.svg) !important;
        background-position: bottom -0px left, top 0px right 1px !important;
        background-size: 19px, 19px !important;
    
        /*right: -298px;
        stroke-width: 6px !important;
        stroke: red !important;*/
    }
    
    /*  right  */
    .tabbrowser-tab:not([pinned]):is([visuallyselected], :last-of-type) .tab-background::after {
        right: -19px;
        background-image: url(icons/Tab-corner-left2aTest.svg),
                                        url(icons/Tab-corner-top2.svgTest) !important;
        background-position: bottom -0px left, top 0px right 1px !important;
        background-size: 19px, 19px !important;
        transform: scaleX(-1) !important;
    }
    
    
    /*  right corner bg, selected --> vor not selected  */
    .tabbrowser-tab:is([visuallyselected]) + .tabbrowser-tab:not([visuallyselected]) .tab-background::before {
        background-image: none !important;
    }
    
    
    
    
    
    /**   test  radial gradient  2d  soft outline / top / left / right / unten alles   **/
    
    /*
    .tabbrowser-tab:not([pinned])[selected] .tab-stack {
        background-image: linear-gradient(to bottom, var(--ug-stroke), transparent 10px) !important;
        background-repeat: no-repeat !important;
        background-size: calc(100% - 38px) 100% !important;
        background-position: top 4px center !important;
    }
    
    .tabbrowser-tab:not([pinned])[selected] .tab-stack::before {
        content: "";
        width: 72px !important;
        height: 36px !important;
        position: absolute;
        bottom: 4px;
        left: calc(-36px + 18px);
        background-image: 
            radial-gradient(circle at top left, transparent 18px, var(--ug-stroke) 18px, transparent 28px),
            radial-gradient(circle at bottom right, transparent 8px, var(--ug-stroke) 18px, transparent 18px) !important;
        background-repeat: no-repeat !important;
        background-size: 72px 18px !important;
        background-position: bottom left, top left -35px !important;
    }
    
    .tabbrowser-tab:not([pinned])[selected] .tab-stack::after {
        content: "";
        width: 72px !important;
        height: 36px !important;
        position: absolute;
        bottom: 4px;
        right: calc(-36px + 18px);
        background-image: 
            radial-gradient(circle at top left, transparent 18px, var(--ug-stroke) 18px, transparent 28px),
            radial-gradient(circle at bottom right, transparent 8px, var(--ug-stroke) 18px, transparent 18px) !important;
        background-repeat: no-repeat !important;
        background-size: 72px 18px !important;
        background-position: bottom left, top left -35px !important;
        transform: scaleX(-1) !important;
    }
    
     #TabsToolbar {
        background-image: linear-gradient(to top, 
            var(--ug-color3) 4px, transparent 12px) !important;
    } 
    */
    
    
        /*---------------------------------------------------*/
        /************** Tab schließen X hover  ***************/
        /*---------------------------------------------------*/
    
    .tab-content > .tab-close-button:hover {
        outline: none !important;
        background-color: rgba(255, 0, 0, 0.4) !important;                    /* Rot */
        box-shadow: 0 0 1em rgba(255, 0, 0, 0.7) !important;               /* Rot, glow */
    }
    Alles anzeigen

    icons.zip

  • Tabform

    • Horstmann
    • 1. November 2023 um 18:26
    Zitat von Mira_Belle

    Das ist das Hintergrundbild des Themes!

    Ist echt nicht schön, aber ich nutze ja den Firefox nie im Vollformat.

    Super getestet, das Theme. ;)

    Kannst das hier probieren (eine oder beide der Regeln), kommt aber bestimmt einigen anderen Themes in die Quere, und ich weisst nicht wie man es auf nur das eine Theme eingrenzen kann.

    CSS
    #navigator-toolbox {
        background-image: url(icons/orange-blue-images_fix.jpg) !important;
        /*background-position: right top -380px, var(--lwt-background-alignment) !important;*/
    }


    Für den anderen CSS Code habe ich noch das hier eingefügt, aber das ist generell ja nur ein grober Test:

    CSS
    /* Annoying fix to prevent hovering of last tab to trigger tab overflow, better solution wanted */
    /* https://github.com/MrOtherGuy/firefox-csshacks/blob/master/chrome/curved_tabs.css  */
    
    .tabbrowser-tab:last-of-type {
        margin-inline-end: 11px !important;
    }
  • Tabform

    • Horstmann
    • 1. November 2023 um 16:46
    Zitat von Mira_Belle

    Horstmann

    Du bist, was CSS angeht, wirklich richtig fit geworden. Super.

    Und es schaut richtig gut aus.

    So wie ich das derzeit sehe, habe ich noch so einige Schwierigkeiten.

    Denn so wie Dein Design, so soll das Meinige auch zum Schluss werden.

    OK, so ähnlich.

    Alles anzeigen

    Nicht doch, ich hacke hier nur rum. :| Aber Danke. ;)

    Es spielt hier alles zusammen - wie meistens - und wird wie erwähnt schnell komplex wenn man sehr dünne Trennlinien, nach aussen zeigende runde Ecken, Transparenz und Überlappungen zusammenbringt.

    Und dann wird alles noch verschieden gerendert...

    Natürlich will man auch noch die Buttons mit anpassen, alles soll sauber passen, etc..

    Viel Spass damit, ich hab mir schon den Wolf gebastelt um wenigstens so weit zu kommen. ;)

    Aber wieder Einiges dazugelernt.

    Übrigens - bekommst du auch einen seltsamen schrägen Strich mit deinem Theme, oben links, und nur in Vollformat oder maximierter Ansicht?

    Ich hab's auch ohne CSS probiert, gleiches Spiel. :/

  • Tabform

    • Horstmann
    • 1. November 2023 um 15:51
    Zitat von Mira_Belle

    Zwischenstopp :!:

    Meine Tabs sehen z.Z. so aus.

    Ich finde ja der Charme liegt in dem Zusammenspiel von seitlich komplett abgerundeten Tabs mit den teils unten ausgestellten Tabs.

    Was auch die Herausforderung ist...

    Zitat von Mira_Belle

    Woran ich gerade ab verzweifele, die Höhe der Vektorgrafiken!

    Links-rechts ist kein Problem, auch die Größe der Grafiken nicht,

    aber eben hoch oder tief.

    Was ich auch nicht hinbekomme, was wahrscheinlich auch nicht funktionieren wird,

    z.B. den "Closebutton" weiter nach rechts zu bekommen.

    Auch der Anfang des Labels, also das Icon weiter nach links.

    Alles anzeigen

    Kannst ja mal in meinen CSS Code schauen (nicht dass er dolle wäre), mit background size und position , sowie height/width und Positionierung der gesamten before/after Elemente kann man da rumschieben und anpassen.

    Mit den Close buttons und dem Icon hat dir Andreas ja schon geholfen; ist in meinem CSS aber etwas anders.

    Es kommt daher dass deine Rundungen zusätzlich an den Seiten zu den Tabs angestückkelt werden.

    Hier wäre mein momentaner Code, ungefähr wie ich es nach meinem Geschmack machen würde; dazu braucht es wie üblich noch die .svgs im Ordner  /icons.

    Sogar eine auskommentierte Soft Version ist dabei ;) , aber nur grob angefangen.

    CSS
    /*  ERSETZEN  */
    
    #titlebar {
        order: 1 !important;
    } 
    
    /*  ERSETZEN ENDE  */
    
    
    
    :root {
    
        /*--tab-min-height: 68px !important;*/
        /*--ug-height: calc(var(--tab-min-height) / 2);*/
    
    /* Ecken ohne svg radius */
        /*--ug-radius: 18px;*/
        --ug-radius: 20px;
    
    /* Rand Farben */
        --ug-color-border: hsla(0, 0%, 83%, 0.5);
        --ug-stroke: hsla(0, 0%, 83%, 0.35);
    
    
    /*  Farben tab hg / basic / selected / hover */
        --ug-color1: hsla(0, 0%, 83%, 0.25);
        --ug-color2:  hsla(35, 80%, 60%, 0.25);
        --ug-color_hova: hsla(0, 0%, 50%, 0.25);
    
    /* tab bar rand unten Farbe */
        --ug-color3: hsla(0, 0%, 83%, 0.75);
    }
    
    
     #TabsToolbar {
        -moz-context-properties: fill, stroke, stroke-opacity !important;
        background-image: linear-gradient(to top, 
            var(--ug-color3) 1px, transparent 1px) !important;
    
        /*outline: 1px solid grey !important;
        outline-offset: -1px !important;*/
        /*outline: 1px solid hsla(0, 0%, 100%, 0.75) !important;
        outline-offset: -13px !important;*/
    } 
    
    
    /* buttons adjust position */
    
    #TabsToolbar toolbarbutton {
        margin-top: -0px !important;
    }
    
    .tab-label, .tab-close-button {
        text-shadow: none  !important;
    }
    
    #tabbrowser-tabs {
        --ug_margin_plus: 1px -1px;
    }
    :is(#scrollbutton-up, #scrollbutton-down) {
        margin-block:  var(--ug_margin_plus) !important;
    }
    
    #tabbrowser-arrowscrollbox-periphery #tabs-newtab-button .toolbarbutton-icon {
        margin-left: 4px !important;
        border-radius: 50% !important;
    }
    
    .tab-content {
        margin-top: 3px !important;
    }
    
    .tabbrowser-tab:is([visuallyselected], [multiselected]) {
       z-index: 2 !important;
    }
    
    /* Annoying fix to prevent hovering of last tab to trigger tab overflow, better solution wanted */
    /* https://github.com/MrOtherGuy/firefox-csshacks/blob/master/chrome/curved_tabs.css  */
    
    .tabbrowser-tab:last-of-type {
        margin-inline-end: 11px !important;
    }
    
    
    /* tabs distance */
    
    .tabbrowser-tab:not([pinned]) {
        /*padding-inline: 16px !important;*/
        padding-inline: 2px !important;
        overflow: visible !important;
    }
    
    
                                                               /*** tabs base ***/
    /* tabs connected bottom */
    
    .tab-background {
        margin-block: 4px 0px !important;
    }
    
    .tabbrowser-tab .tab-background {
        background-color: var(--ug-color1) !important;
        box-shadow: none !important;
        /*border-image: linear-gradient(to top, 
                               var(--ug-color1), var(--ug-color1)) 1 / 0 0 1px 0  !important;*/
        border-image-outset: 0 1px !important;
        fill: var(--ug-color1, transparent) !important;
        /*stroke: var(--ug-stroke) !important;*/
        outline: none !important;
        /*min-height: calc(var(--tab-min-height) - 1px) !important;*/
        /*box-shadow:  inset 0px 1px var(--ug-color-border) !important;*/
    }
    
    
    /* tabs selected */
    
    .tabbrowser-tab:is([visuallyselected], [multiselected]) .tab-background {
        background-image: none !important;
        background-color: var(--ug-color2) !important;
        fill: var(--ug-color2, transparent) !important;
    }
    
    /* tabs unselected hover */
    
    .tabbrowser-tab:not([visuallyselected], [multiselected]):hover .tab-background {
        background-color: var(--ug-color_hova) !important;
        fill: var(--ug-color_hova) !important;
    }
    
                                                               /*** tabs Radien, borders ***/
    
    /*   basis   */
    .tabbrowser-tab .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) var(--ug-radius)  0 !important;
        border: 1px solid var(--ug-color-border) !important;
        border-bottom: none !important;
    }
    
    .tabbrowser-tab:not([pinned]) .tab-background {
        border-left: none !important;
    }
    
    /*   selected , pinned  */
    .tabbrowser-tab:is([visuallyselected], [pinned]) .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
    }
    
    /*   selected  border   */
    .tabbrowser-tab[visuallyselected]:not([pinned]) .tab-background {
        border-inline: none !important;
        /*border: none !important;*/
    }
    
    /*   not selected -> nach selected  */
    
    .tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]) .tab-background {
        border-radius: var(--ug-radius) !important;
        border-left: 1px solid var(--ug-color-border) !important;
    }
    
    /*   not selected last */
    .tabbrowser-tab:last-of-type .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
        border-inline: none !important;
    }
    
    /*   not selected last -> nach selected  */
    .tabbrowser-tab:is([visuallyselected]) + .tabbrowser-tab:not([visuallyselected]):last-of-type .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 var(--ug-radius) !important;
        border-right: none !important;
    }
    
    
    
                                                               /***  tabs corners  ***/
    
    /*  base  */
    .tabbrowser-tab:not([pinned]) .tab-background::before, 
    .tabbrowser-tab:not([pinned]) .tab-background::after {
        content: "";
        width: 38px !important;
        height: 38px !important;
        position: absolute;
        bottom: -2px;
        background-repeat: no-repeat !important;
        background-position: bottom left !important;
        stroke: var(--ug-stroke) !important;
    }
    
    /*  left  */
    .tabbrowser-tab:not([pinned]) .tab-background::before {
        left: -19px;
        background-image: url(icons/Tab-corner-left2a.svg),
                                        url(icons/Tab-corner-top2.svg) !important;
        background-position: bottom -0px left, top 0px right 1px !important;
        background-size: 19px, 19px !important;
    
        /*right: -298px;
        stroke: red !important;*/
    }
    
    /*  right  */
    .tabbrowser-tab:not([pinned]):is([visuallyselected], :last-of-type) .tab-background::after {
        right: -19px;
        background-image: url(icons/Tab-corner-left2a.svg),
                                        url(icons/Tab-corner-top2.svg) !important;
        background-position: bottom -0px left, top 0px right 1px !important;
        background-size: 19px, 19px !important;
        transform: scaleX(-1) !important;
    }
    
    
    /*  right corner bg, selected --> vor not selected  */
    .tabbrowser-tab:is([visuallyselected]) + .tabbrowser-tab:not([visuallyselected]) .tab-background::before {
        background-image: none !important;
    }
    
    
    
    
    
    /**   test  radial gradient  2d  soft outline / top / left / right / unten alles   **/
    
    /*
    .tabbrowser-tab:not([pinned])[selected] .tab-stack {
        background-image: linear-gradient(to bottom, var(--ug-stroke), transparent 10px) !important;
        background-repeat: no-repeat !important;
        background-size: calc(100% - 38px) 100% !important;
        background-position: top 4px center !important;
    }
    
    .tabbrowser-tab:not([pinned])[selected] .tab-stack::before {
        content: "";
        width: 72px !important;
        height: 36px !important;
        position: absolute;
        bottom: 4px;
        left: calc(-36px + 18px);
        background-image: 
            radial-gradient(circle at top left, transparent 18px, var(--ug-stroke) 18px, transparent 28px),
            radial-gradient(circle at bottom right, transparent 8px, var(--ug-stroke) 18px, transparent 18px) !important;
        background-repeat: no-repeat !important;
        background-size: 72px 18px !important;
        background-position: bottom left, top left -35px !important;
    }
    
    .tabbrowser-tab:not([pinned])[selected] .tab-stack::after {
        content: "";
        width: 72px !important;
        height: 36px !important;
        position: absolute;
        bottom: 4px;
        right: calc(-36px + 18px);
        background-image: 
            radial-gradient(circle at top left, transparent 18px, var(--ug-stroke) 18px, transparent 28px),
            radial-gradient(circle at bottom right, transparent 8px, var(--ug-stroke) 18px, transparent 18px) !important;
        background-repeat: no-repeat !important;
        background-size: 72px 18px !important;
        background-position: bottom left, top left -35px !important;
        transform: scaleX(-1) !important;
    }
    
     #TabsToolbar {
        background-image: linear-gradient(to top, 
            var(--ug-color3) 4px, transparent 12px) !important;
    } 
    */
    
    
        /*---------------------------------------------------*/
        /************** Tab schließen X hover  ***************/
        /*---------------------------------------------------*/
    
    .tab-content > .tab-close-button:hover {
        outline: none !important;
        background-color: rgba(255, 0, 0, 0.4) !important;                    /* Rot */
        box-shadow: 0 0 1em rgba(255, 0, 0, 0.7) !important;               /* Rot, glow */
    }
    Alles anzeigen

    icons.zip

  • Variablen in CSS nutzen

    • Horstmann
    • 1. November 2023 um 13:18
    Zitat von Sören Hentzschel
    Zitat von Horstmann

    Ich hatte :has auch schon benutzt, wollte aber warten bis es offiziell von Fx unterstützt wird und sauber implentiert ist.

    Es steht nun fest, dass :has in der finalen Version von Firefox 121 ausgeliefert werden wird.

    Danke für die Info! :thumbup:

  • Tabform

    • Horstmann
    • 31. Oktober 2023 um 22:32

    Nochmal etwas verfeinert, Rundungen und Trennlinien noch Baustelle:

    CSS
    :root {
    
        --ug-height: calc(var(--tab-min-height) / 2);
    
        --ug-radius: 18px;
    
        --ug-fill: cyan;
    
    
    /* Rand  Farben */
    
        /*--ug-stroke: hsla(0, 100%, 50%, 0.5);
        --ug-stroke: var(--ug-color3);*/
    
        --ug-color-border: var(--ug-stroke);
    
        --ug-stroke: hsla(0, 0%, 83%, 0.5);
    
    
        --ug-color1: hsla(0, 0%, 83%, 0.25);
        --ug-color2:  hsla(35, 80%, 60%, 0.25);
        --ug-color_hova: hsla(0, 0%, 63%, 0.25);
    
    /* tab bar rand unten Farbe */
        --ug-color3: hsla(0, 0%, 83%, 1);
    
        /*--ug-color_test_text: hsla(0, 0%, 13%, 1) !important;*/
    }
    
    
    
     #TabsToolbar {
        background-image: linear-gradient(to top, 
            var(--ug-color3) 5px, transparent 5px) !important;
        /*outline: 1px solid grey !important;
        outline-offset: -1px !important;*/
        -moz-context-properties: fill, stroke, stroke-opacity !important;
    } 
    
    .tab-label, .tab-close-button {
        color: var(--ug-color_test_text) !important;
        text-shadow: none  !important;
    }
    
    #TabsToolbar toolbarbutton {
        margin-top: -4px !important;
    }
    
    #tabbrowser-tabs {
        --ug_margin_plus: -2px 2px;
    }
    :is(#scrollbutton-up, #scrollbutton-down) {
        margin-block:  var(--ug_margin_plus) !important;
    }
    
    #tabbrowser-arrowscrollbox-periphery #tabs-newtab-button .toolbarbutton-icon {
        /*margin-left: 8px !important;*/
        border-radius: 50% !important;
    }
    
    
    
    .tabbrowser-tab:is([visuallyselected], [multiselected]) {
       z-index: 2 !important;
    }
    
    
    /* tabs distance */
    
    .tabbrowser-tab:not([pinned]) {
        /*padding-inline: 16px !important;*/
        padding-inline: 2px !important;
        overflow: visible !important;
    }
    
    /*
    .tab-stack {
        overflow: hidden !important;
        background-clip: padding-box;
    }*/
    
    
                                                               /*** tabs base ***/
    
    .tabbrowser-tab .tab-background {
        background-color: var(--ug-color1) !important;
        box-shadow: none !important;
        color: var(--ug-color_test_text) !important;
        /*border-image: linear-gradient(to top, 
                               var(--ug-color1), var(--ug-color1)) 1 / 0 0 1px 0  !important;*/
        border-image-outset: 0 1px !important;
        fill: var(--ug-color1, transparent) !important;
        /*stroke: var(--ug-stroke) !important;*/
        outline: none !important;
        
        /*box-shadow:  inset 0px 1px var(--ug-color-border) !important;*/
    }
    
    
    /* tabs selected */
    
    .tabbrowser-tab:is([visuallyselected], [multiselected]) .tab-background {
        background-image: none !important;
        background-color: var(--ug-color2) !important;
        fill: var(--ug-color2, transparent) !important;
    }
    
    /* tabs unselected hover */
    
    .tabbrowser-tab:not([visuallyselected], [multiselected]):hover .tab-background {
        background-color: var(--ug-color_hova) !important;
        fill: var(--ug-color_hova) !important;
    }
    
                                                               /*** tabs Radien, borders ***/
    
    /*   basis   */
    .tabbrowser-tab .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) var(--ug-radius)  0 !important;
        border: 1px solid var(--ug-color-border) !important;
        border-bottom: none !important;
    }
    
    .tabbrowser-tab:not([pinned]) .tab-background {
        border-left: none !important;
    }
    
    /*   select , pinned  */
    .tabbrowser-tab:is([visuallyselected], [pinned]) .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
    }
    
    /*   select  border   */
    .tabbrowser-tab[visuallyselected]:not([pinned]) .tab-background {
        border-inline: none !important;
    }
    
    /*   not select -> nach select  */
    
    .tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]) .tab-background {
        border-radius: var(--ug-radius) !important;
        border-left: 1px solid var(--ug-color-border) !important;
    }
    
    /*   not select last */
    .tabbrowser-tab:last-of-type .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
        border-inline: none !important;
    }
    
    /*   not select last -> nach select  */
    .tabbrowser-tab:is([visuallyselected]) + .tabbrowser-tab:not([visuallyselected]):last-of-type .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 var(--ug-radius) !important;
        border-right: none !important;
    }
    
                                                               /* tabs bottom corners */
    
    .tabbrowser-tab:not([pinned]) .tab-background::before, 
    .tabbrowser-tab:not([pinned]) .tab-background::after {
        content: "";
        width: 36px !important;
        height: 36px !important;
        position: absolute;
        bottom: 5px;
        /*outline: 1px solid white !important;
        outline-offset: -1px !important;*/
        background-repeat: no-repeat !important;
        background-position: bottom left !important;
        stroke: var(--ug-stroke) !important;
    }
    
    
    .tabbrowser-tab:not([pinned]) .tab-background::before {
        left: -18px;
        background-image: url(icons/Tab-corner-left.svg) !important;
        background-size: 18px !important;
    }
    
    .tabbrowser-tab:not([pinned]):is([visuallyselected], :last-of-type) .tab-background::after {
        right: -18px;
        background-image: url(icons/Tab-corner-left.svg) !important;
        background-size: 18px !important;
        transform: scaleX(-1) !important;
    }
    
    
    .tabbrowser-tab:is([visuallyselected]) + .tabbrowser-tab:not([visuallyselected]) .tab-background::before {
        background-image: none !important;
    }
    
    
    
    
    
    
        /*---------------------------------------------------*/
        /************** Tab schließen X hover  ***************/
        /*---------------------------------------------------*/
    
    .tab-content > .tab-close-button:hover {
    
        color: var(--ug-color_test_text) !important;
    
    
        background-color: rgba(255, 0, 0, 0.4) !important;                    /* Rot */
        box-shadow: 0 0 1em rgba(255, 0, 0, 0.7) !important;               /* Rot, glow */
       outline: none !important;
        /*  background: #E81123 !important;                         */          /* Kirschrot rgb(232, 17, 35) */
        /*  box-shadow: inset 0px 0px 4px 0px #ff0000 !important;   */          /* Hellrot rgb(255, 0, 0) */
    }
    Alles anzeigen

    Das .svg dazu ist das gleiche wie hier.

  • Tabform

    • Horstmann
    • 31. Oktober 2023 um 21:27
    Zitat von Mira_Belle

    OK, die Grafik ist hier mein Problem.

    Hmm, die Sucht war wieder stärker... X/

    Die Rundungen passen noch nicht ganz, und die Kanten bzw. Trennlinien links/rechts sind wirklich eine Pest, aber kannst ja mal probieren.

    CSS
    :root {
    
        --ug-height: calc(var(--tab-min-height) / 2);
    
        --ug-radius: 18px;
    
        --ug-fill: cyan;
    
    
        --ug-stroke: hsla(0, 100%, 50%, 0.5);
        --ug-color-border: hsla(0, 100%, 50%, 0.5);
    
        --ug-color1: hsla(0, 0%, 83%, 0.5);
        --ug-color2:  hsla(35, 80%, 60%, 0.5);
        --ug-color3: hsla(0, 0%, 83%, 1);
        --ug-color_hova: hsla(0, 0%, 63%, 0.5);
    
        /*--ug-color_test_text: hsla(0, 0%, 13%, 1) !important;*/
    }
    
    
    
     #TabsToolbar {
        background-image: linear-gradient(to top, 
            var(--ug-color3) 5px, transparent 5px) !important;
        /*outline: 1px solid grey !important;
        outline-offset: -1px !important;*/
        -moz-context-properties: fill, stroke, stroke-opacity !important;
    } 
    
    .tab-label, .tab-close-button {
        color: var(--ug-color_test_text) !important;
        text-shadow: none  !important;
    }
    
    #TabsToolbar toolbarbutton {
        margin-top: -4px !important;
    }
    
    #tabbrowser-tabs {
        --ug_margin_plus: -2px 2px;
    }
    :is(#scrollbutton-up, #scrollbutton-down) {
        margin-block:  var(--ug_margin_plus) !important;
    }
    
    #tabbrowser-arrowscrollbox-periphery #tabs-newtab-button .toolbarbutton-icon {
        /*margin-left: 8px !important;*/
        border-radius: 50% !important;
    }
    
    
    
    .tabbrowser-tab:is([visuallyselected], [multiselected]) {
       z-index: 2 !important;
    }
    
    
    /* tabs distance */
    
    .tabbrowser-tab:not([pinned]) {
        /*padding-inline: 16px !important;*/
        padding-inline: 2px !important;
        overflow: visible !important;
    }
    
    /*
    .tab-stack {
        overflow: hidden !important;
        background-clip: padding-box;
    }*/
    
    
                                                               /*** tabs base ***/
    
    .tabbrowser-tab .tab-background {
        background-color: var(--ug-color1) !important;
        color: var(--ug-color_test_text) !important;
        /*border-image: linear-gradient(to top, 
                               var(--ug-color1), var(--ug-color1)) 1 / 0 0 1px 0  !important;*/
        border-image-outset: 0 1px !important;
        fill: var(--ug-color1, transparent) !important;
        /*stroke: var(--ug-stroke) !important;*/
        outline: none !important;
        box-shadow:  inset 0px 1px var(--ug-color-border) !important;
    }
    
    
    /* tabs selected */
    
    .tabbrowser-tab:is([visuallyselected], [multiselected]) .tab-background {
        background-image: none !important;
        background-color: var(--ug-color2) !important;
        fill: var(--ug-color2, transparent) !important;
    }
    
    /* tabs unselected hover */
    
    .tabbrowser-tab:not([visuallyselected], [multiselected]):hover .tab-background {
        background-color: var(--ug-color_hova) !important;
        fill: var(--ug-color_hova) !important;
    }
    
                                                               /*** tabs Radien ***/
    
    .tabbrowser-tab .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) var(--ug-radius)  0 !important;
    }
    
    .tabbrowser-tab:is([visuallyselected], [pinned]) .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
    }
    
    .tabbrowser-tab:is([visuallyselected]) + .tabbrowser-tab:not([visuallyselected]) .tab-background {
        border-radius: var(--ug-radius) !important;
    }
    
    .tabbrowser-tab:last-of-type .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
    }
    
    .tabbrowser-tab:is([visuallyselected]) + .tabbrowser-tab:not([visuallyselected]):last-of-type .tab-background {
        border-radius: var(--ug-radius) var(--ug-radius) 0 var(--ug-radius) !important;
    }
    
                                                               /* tabs bottom corners */
    
    .tabbrowser-tab:not([pinned]) .tab-background::before, 
    .tabbrowser-tab:not([pinned]) .tab-background::after {
        content: "";
        width: 36px !important;
        height: 36px !important;
        position: absolute;
        bottom: 5px;
        /*outline: 1px solid white !important;
        outline-offset: -1px !important;*/
        background-repeat: no-repeat !important;
        background-position: bottom left !important;
        stroke: var(--ug-stroke) !important;
    }
    
    
    .tabbrowser-tab:not([pinned]) .tab-background::before {
        left: -18px;
        background-image: url(icons/Tab-corner-left.svg) !important;
        background-size: 18px !important;
    }
    
    .tabbrowser-tab:not([pinned]):is([visuallyselected], :last-of-type) .tab-background::after {
        right: -18px;
        background-image: url(icons/Tab-corner-left.svg) !important;
        background-size: 18px !important;
        transform: scaleX(-1) !important;
    }
    
    
    .tabbrowser-tab:is([visuallyselected]) + .tabbrowser-tab:not([visuallyselected]) .tab-background::before {
        background-image: none !important;
    }
    
    
    
    
    
    
    
    /*  TEST Tabs Ellipsis  */
      
    .tab-label-container {
        mask-image: none !important;
    }
    
    .tab-label {
        overflow: hidden !important;
        /*text-overflow: ellipsis !important;*/
        text-overflow: " ..." !important;
        white-space: nowrap !important;
        max-width: 100% !important;    
    }
    
    
        /*-----------------------------------------------*/
        /****     Tabtext nicht verkürzt bei hover    ****/
        /*-----------------------------------------------*/
    
        /* Ein längerer Tabtext wird am Ende ja ausgeblendet. */
        /* Diese Verkürzung bei hover hätte ich gerne verhindert. */
    
    
        .tabbrowser-tab:not(:hover) > .tab-stack > .tab-content > .tab-close-button {
            padding-inline-start: 7px !important;
            width: 24px !important;
        }
    
    
        /*---------------------------------------------------*/
        /************** Tab schließen X hover  ***************/
        /*---------------------------------------------------*/
    
    .tab-content > .tab-close-button:hover {
    
        color: var(--ug-color_test_text) !important;
    
    
        background-color: rgba(255, 0, 0, 0.4) !important;                    /* Rot */
        box-shadow: 0 0 1em rgba(255, 0, 0, 0.7) !important;               /* Rot, glow */
       outline: none !important;
        /*  background: #E81123 !important;                         */          /* Kirschrot rgb(232, 17, 35) */
        /*  box-shadow: inset 0px 0px 4px 0px #ff0000 !important;   */          /* Hellrot rgb(255, 0, 0) */
    }
    Alles anzeigen

  • Tabform

    • Horstmann
    • 31. Oktober 2023 um 19:27
    Zitat von Mira_Belle

    Ich schrieb ja schon, dass ich das irgendwie, also die Rundungen, mit Grafiken machen möchte.

    Die Frage, mach ich das dann mit "Bildchen" (*.png) oder besser doch mit Vektorgrafiken.

    ......

    Was ich mich nun frage, ist es möglich auch innerhalb des SVG-Codes Farbverläufe zu definieren?

    Wobei min. eine Farbe von außen per CSS festgelegt werden sollte.

    Also doch wieder rund untenrum? ;)

    Bzgl. Farbveräufen in .svgs, weiss ich nicht, mit .pngs oder jpgs kannst du's natürlich machen, aber dann kannst du mit CSS nicht den Farbinhalt einzelner Bestandteile steuern.

    Ich wollte nochmal auf Godie verweisen; hier gibt's eine CSS für Tab Shapes und Hinweise für about:config Änderungen, und hier eine Menge .svg Icons für alle möglichen Rundungen.

    Geht erstmal ganz ok mit deinem Theme, du müsstest aber noch rausfinden wie Umrandungen und Hintergründe für hover/unselektierte und multiselektierte Tabs klappen, evtl. braucht's dafür noch mehr von seinem Style als nur die Tab Shapes CSS Datei - ich hab nur die kurz getestet.

    Das Ding ist, die runden Ecken sind ja nur der Anfang, dann muss das Ganze auch noch zusammenarbeiten, und sich sauber ineinander fügen und überlappen.

  • Tabform

    • Horstmann
    • 31. Oktober 2023 um 15:29
    Zitat von Mira_Belle

    Horstmann & 2002Andreas

    Ihr seid doof.

    Macht Euch nur lustig über mich, aber das macht mir gar nichts aus. :P

    Andreas hat angefangen! ;)

    Was die Tabs angeht, ich würde dabei gerne helfen wenn ich kann, aber du müsstest dich halt für einen Look entscheiden.

    Wie erwähnt, die nach aussen gehenden Rundungen unten sind die grösste Herrausvorderung, aber machbar; danach kommt Rundungen mit zusätzlicher Tab Hintergrund Transparenz, das ist ziemlich fies.

    Wenn die unteren Rundungen wegfallen, dann sollte es eigentlich nicht so schwer sein den Rest nach Belieben anzupassen - du musst nur klar sagen was du möchtest, es gibt so viele mögliche Varianten.

    Am besten wäre ein Mockup oder ein Screenshot mit Kommentaren.

  • Tabform

    • Horstmann
    • 31. Oktober 2023 um 14:54
    Zitat von 2002Andreas
    Zitat von Horstmann

    jetzt plötzlich keine Rundungen mehr unten?

    Sie ist eine Frau, das wollte sie gestern ;)

    Heheheee... ;)

  • Tabform

    • Horstmann
    • 31. Oktober 2023 um 14:14
    Zitat von Mira_Belle

    Also, ich habe meinen bisherigen Code etwas umgestellt und finde das Resultat auch einigermaßen annehmbar.

    Was ich aber noch irgendwie umsetzen möchte, sind der "Anfang" und das "Ende" der Tabs.

    Die "Formen" (umgesetzt mit Grafiken) bekommt man ja hin, aber dass die "Umrandung sich dann eben dem Design

    anpasst, wird wohl eine Herausforderung!

    Auch diese halbe Transparenz. :/

    Alles anzeigen

    Also jetzt plötzlich keine Rundungen mehr unten? :/

    Was soll's denn nun werden?

  • Tabform

    • Horstmann
    • 30. Oktober 2023 um 21:17
    Zitat von Mira_Belle

    Nicht ganz!

    1. Die Abgrenzung fehlt!

    2. Funktioniert nur bei "Hell" oder "Dunkel", mit meinem Theme eben leider nicht!

    Kann aber mal versuchen, den Hintergrund per CSS irgendwie einzubinden.

    Versuche mal "NordOrange"! Der ist zwar einfarbig, aber hat feine Linien um die Tabs.

    Nicht schön, mit diesem Code.

    Ach und ich verwende "abstract Orange-and-blue", da sind die Darstellungsfehler, grrr.

    Aber ja, bei der überwiegenden Mehrheit von den von mir getesteten Themes funktioniert es sehr gut.

    Aber ist es denn nicht langweilig, immer von anderen fertigen Code zu übernehmen?

    Alles anzeigen

    Unter anderem deswegen hab ich ja auch meinen eigenen Code gebastelt, s. oben. ;)

    Übrigens mit ziemlich aufwendigen Trennlinien, für die ich auch noch Varianten in petto hätte, die man aber halt anpassen muss je nach gewünschter Optik, zusammen mit dem Rest vom Code.


    Die Trennlinien sind die grösste Schwierigkeit, gefolgt von transparenten Tab Hintergründen, ohne ist relativ einfach.


    .

  • Tabform

    • Horstmann
    • 30. Oktober 2023 um 20:37
    Zitat von Mira_Belle

    Hi,

    die Abbildungen von 2002Andreas, sowie die im zweiten Link von .DeJaVu

    sind in etwa so, wie ich es mir vorgestellt habe.

    Die Beispiele sind doch im Prinzip genau das was der CSS Code von MrOtherGuy erzeugt, was ist denn das Problem damit? :/

  • Tabform

    • Horstmann
    • 30. Oktober 2023 um 14:29
    Zitat von 2002Andreas

    So sah das mal aus:

    ...

    Mit diesen Grafiken: ...

    Und so der Code dazu: ...

    :thumbup:

  • Tabform

    • Horstmann
    • 30. Oktober 2023 um 14:22
    Zitat von .DeJaVu

    Wie oben bereits geschrieben, wurden die Ecken mit Grafiken erstellt, rechts, links, dazwischen, also mindestens drei.

    Danke für die Links. :)

    Als Grafik braucht man generell eigentlich nur eine; das einzige Problem sind abgerundete Umrandungen, die sind recht kompliziert zu bauen, und rendern evtl. nicht sauber wenn man es nicht komplett mit Grafiken macht.

  • Tabform

    • Horstmann
    • 30. Oktober 2023 um 14:06
    Zitat von Mira_Belle

    Besser bekomme ich es nicht hin.

    ....

    Irgendwie gefällt es mir nicht.

    Es ist wirklich schwer zu sagen wie man es machen sollte, ohne zu wissen was für eine Optik du am Ende haben möchtest.

    Aber hier ist etwas das du mal probieren könntest; den oberen Teil (ERSETZEN) müsstest du dir anpassen, der Rest ist dann halt Geschmackssache.

    Sieht nicht dolle aus im Moment, ist nur ein Test, aber man kann es unendlich anpassen, man muss halt wie gesagt wissen wie das Ergebnis aussehen soll.

    Das benötigte .svg für die unteren Ecken häng ich als Code unten an, das geht hier nicht mit dem Format.

    CSS
    /*  ERSETZEN */
    
    :root {
        --toolbar-bgcolor: transparent !important;
    }
    
    #navigator-toolbox {
        background-image: url("icons/golder2.jpg") !important;
        background-position: top -270px center  !important;
        background-repeat: no-repeat !important;
    }
    
    #titlebar {
        order: 1 !important;
    } 
    
    /*  ERSETZEN ENDE  */
    
    
    
    :root {
        --ug-height: calc(var(--tab-min-height) / 2);
    
        --ug-radius: 22px;
    
        --ug-color-border: slategrey;
    
        --ug-color1: lightgrey;
        --ug-color_grad1: linear-gradient(to top, lightgrey 8px, white);
    
        --ug-color2: hsla(35, 100%, 75%, 1);
        --ug-color_grad2: linear-gradient(to top, hsla(35, 100%, 75%, 1) 8px, hsla(35, 100%, 100%, 1));
    
        --ug-color3: lightgrey;
    
        /*--ug-color_hova: linear-gradient(to top, lightgrey 4px, transparent 26px);*/
    
        --ug-color_hova: linear-gradient(to top, lightgrey 8px, white);
    
    }
    
    
    
     #TabsToolbar {
        background-image: linear-gradient(to top, 
          var(--ug-color3) 5px, var(--ug-color-border) 5px 6px, transparent 6px) !important;
        /*outline: 1px solid grey !important;
        outline-offset: -1px !important;*/
    } 
    
    #TabsToolbar toolbarbutton {
        margin-top: -5px !important;
    }
    
    .tabbrowser-tab .tab-background {
       border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
       outline: none !important;
       box-shadow: none !important;
       background-image: none !important;
       /*box-shadow: 1px -1px var(--ug-color-border),
                            -1px -1px var(--ug-color-border) !important;*/
       border-image: linear-gradient(to top, 
                               var(--ug-color3), transparent) 1 / 0 0 1px 0 !important;
       border-image-outset: 0 1px !important;
    }
    
    
    /* tabs base */
    
    .tabbrowser-tab .tab-background {
        /*background: var(--ug-color_grad1) !important;*/
        /*stroke: var(--ug-color-border) !important;*/
        /*fill: var(--ug-color1) !important;*/
        fill: transparent !important;
    }
    
    /* tabs selected */
    
    .tabbrowser-tab:is([selected], [multiselected]) .tab-background {
        background: var(--ug-color_grad2) !important;
        fill: var(--ug-color2) !important;
        stroke: var(--ug-color-border) !important;
        box-shadow: 1px -1px var(--ug-color-border),
                            -1px -1px var(--ug-color-border) !important;
    }
    
    /* tabs unselected hover */
    
    .tabbrowser-tab:not([selected], [multiselected]):hover .tab-background {
        background: var(--ug-color_hova) !important;
        fill: var(--ug-color1) !important;
        stroke: var(--ug-color-border) !important;
        box-shadow: 1px -1px var(--ug-color-border),
                            -1px -1px var(--ug-color-border) !important;
    }
    
    
    /* tabs bottom corners */
    
    .tabbrowser-tab:not([pinned]) .tab-background::before {
        -moz-context-properties: fill, stroke, stroke-opacity !important;
        content: url(icons/Tab-corner-left.svg);
        width: 16px !important;
        height: 16px !important;
        position: relative;
        top: 19px;
        right: 16px;
    }
    
    .tabbrowser-tab:not([pinned]) .tab-background::after {
        -moz-context-properties: fill, stroke, stroke-opacity !important;
        content: url(icons/Tab-corner-left.svg);
        width: 16px !important;
        height: 16px !important;
        position: relative;
        top: -1px;
        left: 100%;
        transform: scaleX(-1) !important;
    }
    
    /* tabs distance */
    
    .tabbrowser-tab:not([pinned]) {
        padding-inline: 16px !important;
    }
    
    
    
    /*  TEST Tabs Ellipsis  */
      
    .tab-label-container {
        mask-image: none !important;
    }
    
    .tab-label {
        overflow: hidden !important;
        /*text-overflow: ellipsis !important;*/
        text-overflow: " ..." !important;
        white-space: nowrap !important;
        max-width: 100% !important;    
    }
    
    
        /*-----------------------------------------------*/
        /****     Tabtext nicht verkürzt bei hover    ****/
        /*-----------------------------------------------*/
    
        /* Ein längerer Tabtext wird am Ende ja ausgeblendet. */
        /* Diese Verkürzung bei hover hätte ich gerne verhindert. */
    
    
        .tabbrowser-tab:not(:hover) > .tab-stack > .tab-content > .tab-close-button {
            padding-inline-start: 7px !important;
            width: 24px !important;
        }
    
    
        /*---------------------------------------------------*/
        /************** Tab schließen X hover  ***************/
        /*---------------------------------------------------*/
    
    .tab-content > .tab-close-button:hover {
        background:rgba(255, 0, 0, 0.4) !important;                    /* Rot */
        box-shadow: 0 0 1em rgba(255, 0, 0, 0.7) !important;               /* Rot, glow */
       outline: none !important;
        /*  background: #E81123 !important;                         */          /* Kirschrot rgb(232, 17, 35) */
        /*  box-shadow: inset 0px 0px 4px 0px #ff0000 !important;   */          /* Hellrot rgb(255, 0, 0) */
    }
    Alles anzeigen

    Tab-corner-left.svg :

    Code
    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
      <path d="M0 17 L0 16 A16 16 0 0 0 16 0 L 18 0 L 18 17 Z" fill="context-fill"/>
      <path d="M0 16 A16 16 0 0 0 16 0" fill="transparent" stroke="context-stroke" stroke-width="1"/>
    
    </svg>

    Oder du kannst es hier runterladen (nettes Tool auch), und dann halt zu Tab-corner-left.svg umbenennen.

  • Tabform

    • Horstmann
    • 29. Oktober 2023 um 19:13
    Zitat von Mira_Belle

    Meine bisherige "Arbeit":

    Bin aber noch nicht so wirklich zu frieden!

    Die verwendeten Symbole sind eingefärbt!

    Wenn ich "Hovern" aktiviere, werden leider auch die Sybole des aktiven Tabs "ausgetauscht".

    Und was mir vorher nie so aufgefallen war,

    der Schließenbutten, der verändert die Größe, ...

    Da ist also noch der Wurm drin.

    Alles anzeigen

    Ähem - dein CSS sieht bei mir in 115esr einfach nur verhunzt aus.

    Nicht mal die unteren Bögen sind noch da, was ja irgendwie der Sinn der Übung ist.

    Ausgehend vom originalen CSS Code, was willst du denn ändern und wie?

    Am besten mit Screenshots.

  • Tabform

    • Horstmann
    • 29. Oktober 2023 um 13:22

    Ein Ansatz wäre das hier.

    Es gibt verschiedene Styles die ähnliches CSS benutzen, ist aber immer etwas kompliziert wegen der unteren, nach aussen gerichteten Rundung der Tabs.

    Auch gut ist generell der CSS Code von Godie, der hat sowas in Extras, aber das müsstest du dir raussuchen und zusammenbasteln.

  • Keine Hervorhebung der Tabs, wieso?

    • Horstmann
    • 29. Oktober 2023 um 09:15
    Zitat von Sören Hentzschel
    Zitat von Horstmann

    Nur aus Neugier: ist es anzuraten .tabbrowser-tab:not([visuallyselected]) statt nur .tabbrowser-tab:not([selected]) zu benutzen? :/

    Dass es beide Attribute gibt, hängt mit der Multiprozessarchitektur zusammen. Damit beim Tabwechsel nicht der alte Inhalt für den Bruchteil einer Sekunde angezeigt wird, nachdem die Tableiste aktualisiert wurde, wird zunächst der Tab ausgewählt, ohne den visuellen Status zu aktualisieren (selected), damit andere Teile des Systems quasi Bescheid wissen, dass der Tab ausgewählt ist, und sobald es intern die Bestätigung gibt, dass der Inhalt „gezeichnet“ wurde, wird der Tab auch visuell selektiert (visuallyselected).

    Wenn es darum geht, was man verwenden sollte (falls man überhaupt einen Unterschied wahrnimmt), würde ich mich generell immer an dem orientieren, was Firefox selbst verwendet.

    Dankeschön! :) :thumbup:

  • "Tab schließen" Schaltfläche bei mehr als 11 geöffneten Tabs

    • Horstmann
    • 28. Oktober 2023 um 21:45
    Zitat von milupo
    Zitat von Horstmann

    Verwechsle ich dauernd...

    Bloß gut, dass das mittlerweile eine veraltete Version ist, bis Ende nächsten Jahres kommt dann 155 esr auf dich zu. ;) :)

    Ich hoffe dass ich bald aus der ESR Hölle raus bin, freiwillig benutze ich den Mist nicht; brauch einen neuen Mac dafür... X/

Unterstütze uns!

Jährlich (2026)

0 %

0% (0,00 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon