Tableiste, nur Hintergrund ändern

  • Firefox-Version
    104
    Betriebssystem
    macOs 10.13.6

    Meine Frage in die Runde : lässt sich der Hintergrund der gesamten Tableiste ändern, ohne dass die anderen Elemente in der Tableiste mit betroffen werden ?

    Im Screenshot unten liegt ein Verlauf über der Tableiste; mit Ausnahme des aktiven Tab haben alle Elemente diesen Hintergrund .

    Um z.B. alle Tabs auszuschliessen habe ich folgendes probiert ( getestet in einer userChrome.css mit nur diesem Eintrag ) :

    CSS
    #TabsToolbar:not(tab.tabbrowser-tab) {
    background: linear-gradient(to right, powderblue 20%, yellow 60%) !important;
    }

    Funktioniert aber nicht ...

    Was geht wäre einzelnen Elementen jeweils ihren eigene Hintergrund zuzuweisen , wie z.B. so ( Screenshot #2 ) :

    CSS
    #TabsToolbar {
        background: linear-gradient(to right, powderblue 20%, yellow 60%) !important;
    }
    
    #tabs-newtab-button {
        background: red !important;
    }

    Weil aber meine gesamte CSS Geschichte etwas komplexer ist als dieser Test, und ich einen Masken-Verlauf über einen Schatten innerhalb der Tableiste legen will - über alles ausser den Tabs - wäre die Frage ob man generell die Tabs etc. vom Hintergrund ausschliessen kann .

    Konkret geht es um so einen Fall, wo die Maske zwar wie gewollt den Schatten beschneidet , aber eben auch die ( teils transparenten) Tabs mit überlagert .

    Wie gesagt ist die gesamte CSS etwas aufwendiger, deshalb das einfachere Beispiel oben .

    CSS
    #TabsToolbar {
        box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.9) !important;
        mask-image: linear-gradient(to right, transparent 2%, black 13%) !important;
    }


  • lässt sich der Hintergrund der gesamten Tableiste ändern

    Meinst du das so?

    Wenn ja, dann teste bitte:

  • Wenn Du nun background "durchsichtig" machst und auch den box-shaddow Deinen Wünschen anpasst,

    solltest Du doch das hinbekommen, was Du willst, oder habe ich Dein Vorhaben total und ganz missverstanden?

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (28. August 2022 um 16:55)

  • Vielen Dank für Eure Antworten !

    Habe schon geahnt dass ich das nur schwer erklären kann, ich fummele daran schon eine Weile rum ohne zum Ende zu kommen .

    Ich denke ich habe wie schon oft Probleme damit zu verstehen, wie die verschiedenen Ebenen aufeinander liegen in Firefox , und was welche Elemente wie überlagert .

    In Photoshop ist das einfacher - oben ist oben, unten ist unten, Masken kann man verketten . ;)

    Im Prinzip suche ich nach einem Weg, oben einen nach rechts verlaufenden box-shadow zu haben über die Tableiste - ohne ein border-image zu benutzen, nur mit mask-image .

    Das geht auch prima - aber jedes mask-image läuft eben auch über die Tabs, nicht nur den box-shadow ... ;(

    Zum Beispiel, s. Screenshot - Verlauf transparent zu Farbe für den box-shadow ( prima ) ; Verlauf transparent zu Farbe auf linker Tab ( nicht prima ) :

    CSS
    #TabsToolbar {
    box-shadow: inset 0px 1px 0px 0px rgba(255, 0, 0, 0.9) !important;
    mask-image: linear-gradient(to right, transparent 2%, black 13%) !important;
    }

    Eine solide Farbe für die Tabs würde das Problem lösen, wie anfangs erwähnt und auch von Andreas vorgeschlagen - aber meine Tabs sind semi-transparent, farblich abgestuft und sollen auch so bleiben .

    Daher die Frage, ob man in irgendeiner Form die Tabs von ihrem Hintergrund bzw. Umgebung komplett entkopplen kann , oder umgekehrt .

    Oder - es würde ja schon reichen wenn die Tab ganz links keine Verlauf hätte - hmmm ...


  • Ich denke, ich habe es begriffen. :/

    Du möchtest in, bzw. über der Tableiste eine Linie erzeugen.

    box-shadow: inset 0px 3px 0px 0px rgba(255, 0, 0, 0.9) !important;

    In diesem Fall Rot.

    Nun möchtest Du aber diese Linie mit einem Farbverlauf versehen!

    Und verwendest => mask-image: linear-gradient(to right, transparent 2%, black 13%) !important;

    Das scheint aber nicht zu gehen!!

    Ersetze black durch red. Nichts ändert sich!

    Ersetze transparent durch eine belibige Farbe, ...

    und der ganze Kram ist dahin.

    Anders wenn Du background:  linear-gradient(to right, white 20%, red 100%) !important; verwendest.

    Also schließe ich daraus, dass Dein Vorhaben soo nicht geht.

    Eventuell musst Du mit JavaScript einen "Balken", der ja gar nicht vorhanden ist, erst erzeugen?

    So 'ne spontane Idee.

    Mit <3lichem Gruß

    Mira

  • Daher die Frage, ob man in irgendeiner Form die Tabs von ihrem Hintergrund bzw. Umgebung komplett entkopplen kann , oder umgekehrt .


    Oder - es würde ja schon reichen wenn die Tab ganz links keine Verlauf hätte - hmmm ...

    Die Tabs sind ja "entkoppelt" vom TabsToolbar-Hintergrund. Da aber die unselektierten Tabs von Haus aus einen transparenten Hintergrund haben, muss man - so wie es 2002Andreas vorgeschlagen hat - diesen Tab-Hintergrund natürlich erst neu einfärben, da sonst logischerweise der TabsToolbar-Hintergrund sichtbar wird..

    Da das gewünschte Ergebnis vielleicht wirklich schwer zu kommunizieren ist, würde ich vorschlagen, dass du mit einem Bildbearbeitungsprogramm (du hattest selber Photoshop erwähnt) ein einigermaßen genaues Bild anfertigst, welches das Endergebnis darstellt. Ich bin sicher, dass du dann in kürzester Zeit eine Lösung dafür bekommen würdest...

    Gruß BrokenHeart

    "success has many fathers, failure is an orphan"

  • So schaut es mit diesem Code aus.

    Und so mit diesem.

    Und so, so denke ich, sollte es in etwa sein.

    Zumindet habe ich das so verstanden.

    Scheuen wir mal.

    Mit <3lichem Gruß

    Mira

  • Und so, so denke ich, sollte es in etwas sein.

    Nicht wirklich ;)

    Weil:

    Um z.B. alle Tabs auszuschliessen

    Und bei dir haben alle Tabs den gleichen Hg wie die Tableiste.

    Mh, das wiederum liegt ja am Code.

    Was Horstmann dann ja seinen Wünschen entsprechend anpassen könnte.

    Aber egal, es sollte ja nur als Beispiel dienen, was eben diese Linien angeht!

    Aber er muss sich dazu äußern, dann wissen wir mehr

    und dann werden wir, ich sehen, ob ich ihn richtig verstanden habe oder eben nicht.

    Also warten wir es einfach ab.

    Mit <3lichem Gruß

    Mira

  • Herzlichen Dank nochmal für Eure Mühen ; ich hab's wirklich schlecht erklärt .

    Bzw. hätte ich dazusagen sollen, dass ich prinzipell die Linien inklusive Verläufe schon habe , oder auf meiner früheren Thread zu dem Thema verweisen sollen .

    Damit hier bekomme ich eine dunkelgraue Linie / border unten in den einzelnen Leisten , plus eine helle Linie / box-shadow für die jeweils darunterliegende Leiste ; s. Screenshots mit jeweils ( der hellen ) aktiven Tab und der ununselektierten Tab .

    Alle der Linien haben über ihr mask-image ( alpha ) einen Verauf von links ( unsichtbar ) nach rechts ( sichtbar ) .

    Soweit genau nach Plan .

    Das mask-image in #TabsToolbar ist nichtmal nötig, es dämpft nur den hellen Schatten von oben in den Tabs etwas ab .

    Weil es visuell ein klein weniger besser aussieht, wenn ich den untersten hellen 'Schatten' direkt in die Tabs/Tableiste baue, habe ich auch das versucht, wie oben erwähnt :

    CSS
    #TabsToolbar {
    box-shadow: inset 0px 1px 0px 0px rgba(255, 0, 0, 0.9) !important;
    mask-image: linear-gradient(to right, transparent 2%, black 13%) !important;
    }

    Dann läuft aber die Maske auch in die unselektierten Tabs rein, und das scheint sich nicht umgehen zu lassen , weil eben diese Tabs semi-transparent sind ( und bleiben sollen ) , wie BrokenHeart und Andreas auch erläutert haben .

    Den Screenshot dazu hänge ich auch nochmal mit an, hier mit rotem statt weissem 'Schatten' nur zu Testzwecken .

    Und eben diesen Verlauf in die Tabs hinein wäre ich gerne losgeworden .

    Man könnte in der Tableiste ein border-image statt dem Schatten benutzen, border-image lässte eine Verlaufskante zu ohne eine Maske , aber dann gibt's u.U. Ärger mit dem Tab Inhalt ; border ist ja quasi ein 'physisches' Element , box-shadow nur ein Layer .

    Das müsste ich mir aber evtl. nochmal anschauen .


  • So , jetzt geht's dann doch .

    Zumindest in meinem speziellen Fall, wo der Kanten-Verlauf nur links sitzen muss .

    Ich versuch's gar nicht erst im Detail zu erklären - mich versteht ja eh keiner ^^ , es ist auch nicht 100% perfekt , aber so lässte sich zumindest die selektierte Tab mit einem Schattenverlauf ( obere Kante ) versehen - und nur wenn sie links steht - und die unselektierten Tabs haben nur eine dezente Schattenkante ohne Verlauf - und vor allem keinen Verlauf in den unselektierten, transparenten Tabs selber .

    Der einzige Nachteil ist, dass ich den Kantenverlauf in der selektierten Tab nicht mehr in Prozentwerten angeben kann , sondern in festen Pixelwerten, weil die selektierte Tab sich ja in der Breite verändert, je nach Gesamtanzahl der Tabs ( bei mir ) .

    Aber weil sich der Verlauf eh nach dem Logo links richtet, ist das auch kein Drama .

    Die gesamte CSS sieht dann so aus, vielleicht hat ja jemand mal Verwendung für so was :


    Einmal editiert, zuletzt von Horstmann (31. August 2022 um 10:00)