Anpassung Unterforensymbole auf Startseite des Forums

  • Firefox-Version
    Firefox 122 Nightly
    Betriebssystem
    Windows 10

    Hallo,

    in der vorangegangenen Forumsversion hatte ich die Symbole der Unterforen auf der Startseite des Forums farblich angepasst. Grundlage für die Anpassungen waren .fa-Klassen. Statt ihrer wird jetzt das Element fa-icon verwendet, denen das Attribut name zugewiesen ist. Das klappt zum großen Teil, wenn man fa-icon[name] verwendet, z. B. fa-icon[name=gears] für die Schaltzentrale. Bei drei Symbolen klappt die Anpassung nicht, und zwar für Fiefox Allgemein, Firefox-Produkte für Android und Firefox-Produkte für iOS. Ich habe herausgefunden, dass alle drei mit fa-icon[name=folder-open] definiert sind. Dadurch kommen sie sich offenbar ins Gehege. Auch mit der Selektorketten-Variante funktioniert es nicht, obwohl die sich unterscheiden:

    Code
    #wbbBoardNodeList2 > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > fa-icon:nth-child(1)
    #wbbBoardNodeList3 > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > fa-icon:nth-child(1)
    #wbbBoardNodeList3 > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > fa-icon:nth-child(1)

    Die drei Symbole sollten spezifische Symbolnamen erhalten, damit die Symbole anpassbar sind.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Hallo,

    Bei drei Symbolen klappt die Anpassung nicht, und zwar für Fiefox Allgemein, Firefox-Produkte für Android und Firefox-Produkte für iOS.

    Das liegt daran, dass die Symbole von Marken (Firefox, Android, Apple) nicht länger Bestandteil des regulären Icon-Schriftsatzes sind und daher auf andere Weise von mir eingebunden worden sind.

    Die drei Symbole sollten spezifische Symbolnamen erhalten, damit die Symbole anpassbar sind.

    Die Farben sind auch für diese Icons anpassbar, aber auf andere Weise:

  • Auch mit der Selektorketten-Variante funktioniert es nicht, obwohl die sich unterscheiden:

    Das habe ich so gelöst.

    Grüße vom FuchsFan

  • Dein Code unterscheidet nicht zwischen Foren mit gelesenen und ungelesenen Beiträgen. Und ich rate ausdrücklich von :nth-child()-Konstrukten ab, wenn es nicht zwingend erforderlich ist. Das ist total fragil und funktioniert bei der kleinsten Änderung der Elementfolge nicht mehr, und lesbar ist solcher Code auch nicht. Vergleiche das mit dem Code über deinem Beitrag: Da weiß man sofort, was der Code verändert. ;)

    PS: Falls sich nach Betrachten beider Vorschläge jemand wundert, wieso sowohl background-color als auch color funktioniert: Die Verwendung von color funktioniert für diese drei Icons nur, weil ich im Design background-color: currentColor gesetzt habe. Damit wird die Textfarbe implizit als Hintergrundfarbe verwendet. De facto muss hier die Hintergrundfarbe verändert werden, weil eine SVG-Maske verwendet wird. Was davon man nun im CSS überschreibt, ist egal, weil's auf das Gleiche hinausläuft. ;)

  • Und ich rate ausdrücklich von :nth-child()-Konstrukten ab, wenn es nicht zwingend erforderlich ist.

    Das hattest Du schon erwähnt, und im "Normalfall" halte ich mich auch daran. Hier war es für mich die einzige Möglichkeit, um die Symbole anzusprechen.

    Trotzdem ein Dankeschön für die erneute Aufklärung, und den Code.:thumbup::)

    Grüße vom FuchsFan

  • Sören Hentzschel

    Nun habe ich versucht bei den übrigen Icons auch so zu verfahren, aber da habe ich keine andere Möglichkeit gefunden. So musste ich wieder diese Schreibweise nutzen.

    CSS
    /* Vorab-Versionen */
    #wbbBoardNodeList2 > div:nth-child(2) > div:nth-child(1) {
        color: #ffbf00 !important;
    } 

    Oder lässt sich das auch noch anders aufstellen?

    Edit:

    Nun habe ich das damit versucht, das funktioniert. .wbbBoardNode[data-board-id="7"] .wbbBoardNode__icon {  Ist das so i.O.

    Grüße vom FuchsFan

    Einmal editiert, zuletzt von FuchsFan (28. November 2023 um 18:00)

  • Ist das so i.O.

    Wenn du gelesen und ungelesen trennen willst:

    In diesem Fall gibt es einen ungelesenen Beitrag unter Anpassungen.

    Der hat ein blaues Icon.

    Wenn du den Beitrag gelesen hast, dann ist es rot.

    Unter Erweiterungen ist der Button bei gelesen grün, bei ungelesen auch blau.

    Die Farben kannst du dir aber beliebig anpassen für jedes Unterforum.

  • Ja, das passt so. Außer, dass du halt wieder keinen Unterschied zwischen Foren mit gelesenen und ungelesenen Beiträgen hast.

    Wenn ich da nur den Unterschied erkannt , bzw. davon gewusst hätte, dann wäre meine Reaktion wohl anders ausgefallen. So habe ich das aber hin genommen, und mich gefragt, wovon spricht der da. ;)

    Aber 2002Andreas hat ja ein Beispiel vorgegeben, jetzt ist der Groschen gefallen. Danke, Andreas! :thumbup::)

    Grüße vom FuchsFan

  • Foren mit neuen Beiträgen haben ein Badge mit 'ner Nummer drin. Das muss für mich nicht weiter erleuchtet sein, daher ganz simpel wie vorher auch:

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

  • Gerade, wenn sich so viel wiederholt, wie in deinem Beispiel (.wbbBoardNode__icon) würde ich in jedem Fall auf Verschachtelung setzen. Damit sparst du dir den immer gleichen Selektor:

  • Ich mein, ich hatte mal erwähnt, dass es abwärtskompatibel sein muss ;)
    Und Edge muss es auch können. Und ich brauch Zeit, die ich dafür nicht wirklich habe. Dennoch danke für den Hinweis.

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

  • Warum wird das Icon unter: Allgemein nicht rot, obwohl ein neuer Beitrag vorhanden ist?

    Der Code macht keinen Unterschied für gelesen und ungelesen. Ich hatte nur den Code direkt über meinem Beitrag umgeschrieben. Wenn das Icon bei ungelesenen Beiträgen immer im Standard-Rot sein soll, könntest du Folgendes noch drumherum packen:

    CSS
    .wbbBoardNode:not(.wbbBoardNode--unread) {
      /* Der Code aus Beitrag #12 */
    }
  • Wenn du gelesen und ungelesen trennen willst:

    Das funktioniert auch, bis auf zwei Rubriken, und das sind Firefox Allgemein und Firefox-Produkte für Android, diese werden nicht farblich verändert.

    Dazu musste ich den Code abändern, als Beispiel hier Firefox Allgemein:

    CSS
    .wbbBoardNode[data-board-id="15"].wbbBoardNode--unread .wbbBoardNode__icon {
        color: red !important;
    }

    Kann das mal bitte überprüft werden.

    Grüße vom FuchsFan

  • Da hat sich seit Themeneröffnung nichts geändert. Dein angepasster Selektor hat eine höhere Spezifität als der aus dem Beitrag von Andreas. Eine mögliche Erklärung wäre daher, dass du an anderer Stelle noch Code hast, der auf genau die gleiche Stelle wirkt, und die Spezifität nicht ausreichend war, um diesen Code zu überschreiben.