[erledigt] Auswirkungen von Userstylesheets auf Firefox GUI

  • Hallo allerseits,

    ich bin gerade dabei, mich ein bisschen mit Firefox (2.0.0.15) zu beschäftigen, um ihn evtl. später mal als Standardbrowser zu benutzen. Nun gut, als Umsteiger von Opera bin ich da vielleicht etwas verwöhnter, als es Umsteiger von IE sind, aber egal. Nach ca. 20 zusätzlich installierten Erweiterung habe ich jetzt so etwa den Funktionsumfang, den ich gewohnt bin.

    Tja, und jetzt habe ich mich hier im Forum angemeldet, weil sich doch eine ganze Menge Fragen ergeben, die ich so nach und nach hier zu klären mir erhoffe. :)

    Zu Beginn also das für mich Wichtigste: Um Userstylesheets für die Anzeige von Webseiten benutzen zu können, habe ich die Erweiterung "Stylish" installiert. Beim Anwenden einiger Stylesheets habe ich dann jedoch die erschreckend amüsante Feststellung gemacht, dass diese sich nicht nur auf die Darstellung der Webseiten, sondern sogar zusätzlich auch auf die Oberfläche von Firefox selbst (also Symbolleisten, Buttons, Popup-Fenster) auswirken. Das darf ja wohl nicht wahr sein, oder? (... und handelt sich doch hoffentlich nur um eine "Kinderkrankheit"?) Immerhin schafft Firefox es doch, dass Einträge in der userChrome.css sich nicht auf Webseiten auswirken, also sollte es umgekehrt ebenfalls eine klare Abgrenzung geben. Nicht dass Firefox demnächst noch Code, den nur irgendwer in einem Forum postet, auf sich selbst anwendet. ;)

    Lösungsansätze/Workarounds?
    In der userChrome.css findet man die Zeile:

    Code
    @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */


    1. Gibt es vielleicht eine vergleichbare Zeile a la

    Code
    @namespace url("only websites");


    mit der ich meine Userstylesheets adressieren kann?

    2. Gibt es irgendwo eine komplette Auflistung für die von Firefox benutzen Bezeichnungen/Deklarationen für alle Elemente, so dass ich gezielt über die userChrome.css dagegenhalten könnte?

    So, und wenn das geklärt ist, kommen die nächsten Fragen. :)

    Viele Grüße, Janni

    Einmal editiert, zuletzt von Janni5 (12. Juli 2008 um 19:32)

  • Zitat von A.J.

    Um ein Userstylesheet auf eine bestimmte Seite zu begrenzen, siehe hier:
    http://developer.mozilla.org/en/docs/CSS:@-moz-document

    Jo, danke erstmal. Bisher hat es damit noch nicht so richtig geklappt, aber so wie es aussieht, ist das dort ja auch ein Code, der nur auf einzelne Webseiten angewendet werden kann. Ich suche jedoch etwas, das sich global an alle Webseiten richtet aber die Oberfläche von Firefox in Ruhe lässt.
    Ich habe probiert statt

    Code
    @-moz-document url(http://www.w3.org/),
                   url-prefix(http://www.w3.org/Style/),
                   domain(mozilla.org)


    diesen Code mit Wildcards

    Code
    @-moz-document url(http://*),
                   url-prefix(http://*),
                   domain(*)


    zu verwenden, doch das ging so nicht. :)

    Allerdings habe ich meine Stylesheets mal probeweise in die userContent.css kopiert, und da wirkt sich der Code nicht auf die Firefox-Oberfläche aus. Vielleicht sollte man jetzt daraus schließen, dass die Erweiterung Stylish der eigentliche Übeltäter ist?
    Naja, als Übergangslösung könnte ich mit der userContent.css schon leben, nur es fehlt mir dabei dann die Möglichkeit meinen Code auf mehrere Shylesheets aufzuteilen und diese je nach Webseite schnell mal zu aktivieren bzw. deaktivieren. Gibt es vielleicht noch eine andere Erweiterung außer Stylish, die mehrere Userstylsheets managen kann?

  • Zitat von Estartu

    Janni5: @-moz-document gehört ja auch in die userContent.css. :wink:

    Ja schön, hatte ich auch schon gelesen, nur in der userContent.css ist es bei meinem Problem unnötig, weil sich Code, der in der userContent.css steht, sowieso nicht auf die Firefox-Oberfläche auswirkt.

    Ich hoffe also weiterhin auf eine ähnliche Erweiterung wie Stylish, die jedoch etwas differenzierter mit Code umgehen kann.

  • Dann gehen wir die Sache anders an:
    Welche Userstyles machen denn Probleme?

    PS: Stylish macht übrigens keinen Fehler, wenn es Styles die nicht auf eine Domain begrenzt sind
    auf alle Dokumente und damit auch auf die Browseroberfläche anwendet.

  • Zitat von A.J.

    Dann gehen wir die Sache anders an:
    Welche Userstyles machen denn Probleme?

    Och, das wollte ich aber eigentlich vermeiden, weil ich das alles nur sehr stümperhaft zusammengetippselt habe, und dann kommt womöglich so ein CSS-Profi und sagt mir, dass ich mein Stylesheet wegschmeißen soll, obwohl es für mich so funktioniert. Aber nun gut, es handelt sich speziell um Geschichten mit label und span .

    Zitat


    PS: Stylish macht übrigens keinen Fehler, wenn es Styles die nicht auf eine Domain begrenzt sind auf alle Dokumente und damit auch auf die Browseroberfläche anwendet.


    Ja, ok, was das angeht wirst du wohl recht haben, denn ich habe inzwischen festgestellt, dass Stylish in der Liste "Stile verwalten" explizit angibt, dass sie auf ALLES angewendet werden.

    Jedoch(!) habe ich inzwischen in einem anderen Thread auch noch diesen Code gefunden:

    Code
    @namespace url(http://www.w3.org/1999/xhtml);


    und seitdem ich den in die oberste Zeile kopiert habe, sagt Stylish "Angewendet auf WEBSEITEN" :-))
    Das hätte ja eigentlich die Lösung sein müssen, doch leider, leider werden die Stylesheets (bzw. die problematischen Schnipsel mit label u. span) dann trotzdem noch auf die Firefox-Oberfläche angewendet.

    Ps: Übrigens vielen Dank, dass du mir helfen willst. :) Ich vergessen in Foren leider viel zu oft, dass das keine Selbstverständlichkeit ist und man quasi keinen Rechtsanspruch auf Hilfe hat.

  • Wenn du anstatt

    Code
    label {...}
    span {...}

    das hier:

    Code
    body label {...}
    body span {...}

    schreibst, sollte es eigentlich nur auf Webseiten angewendet werden, da XUL-Dokumente (=Die Browseroberfläche) kein Body-Element enthalten...

  • Wow, super, vielen Dank A.J.! Mit dem Trick funktioniert's. :) Könnte sicher auch in Zukunft noch hilfreich sein.

    Würdest du sagen, man sollte den Stylish-Entwickler davon in Kenntnis setzen, dass die Zeile

    Code
    @namespace url(http://www.w3.org/1999/xhtml);


    alleine nicht ausreicht, um jeden Code wirklich nur auf Webseiten zu begrenzen?

    pcinfarkt
    Danke für deinen Link! Interessant finde ich besonders den Code im untersten Beispiel:

    Code
    ::-moz-selection {...}


    Gehört ja jetzt leider nicht mehr zum Thema, aber mich würde schon interessieren, was es damit auf sich hat.

    Und die Möglichkeit, CSS für einzelne Webseiten zu adressieren, finde ich natürlich auch äußerst spannend. Ich merke schon, hier lernt man was. :)

  • Zitat

    Das hätte ja eigentlich die Lösung sein müssen, doch leider, leider werden die Stylesheets (bzw. die problematischen Schnipsel mit label u. span) dann trotzdem noch auf die Firefox-Oberfläche angewendet.


    Nenn sie doch einfach mal, damit man das Verhalten reproduzieren kann.

  • Zitat von boardraider


    Nenn sie doch einfach mal, damit man das Verhalten reproduzieren kann.

    Naja, was genau betroffen ist, kommt vielleicht auf den benutzten Skin bzw. dessen Deklarationen an und auch darauf, ob schon entgegengesetzte Einträge in der userCrome.css vorhanden sind.

    Hier habe ich aber extra für dich neue Einstellungsfenster gebastelt: (Webseiten sehen damit natürlich nicht mehr ganz so übersichtlich aus. :-))