Frage zu @import-Anweisungen in der userChrome.css-Datei

  • Um die Übersichtlichkeit meiner userChrome.css-Datei zu erhöhen, habe ich diverse Teilabschnitte in einzelne .css-Dateien ausgelagert. Das funktioniert nach der Anleitung von milupo auch alles einwandfrei. Habe jetzt das folgende kleine Problem: Bei den Lesezeichen habe ich verschiedene eigene Favicons/Icons definiert. Diese wurden bisher in der userChrome.css-Datei wie folgt eingebunden (Beispiel): url('./icons/Apotheke.png'). Ich habe also einen Ordner "icons" innerhalb des Ordner "chrome" im Profilordner eingerichtet, wo alle selbst definierten Icons abgelegt sind. Der "shortcut" '. bewirkte, dass als Pfad automatisch der jeweilige Chrome-Ordner des Profils angesprochen und auch erkannt wurde. Ist natürlich praktisch beim Kopieren des Profils auf einen anderen Rechner bzw. in ein weiteres Profil, so dass nicht jedesmal der Pfad neu angepasst werden muss. Diese Methode funktioniert bei den @import-Anweisungen nun nicht mehr. Der Pfad wird nicht erkannt und die selbst definierten Icons bleiben "leer". Gibt es eine Möglichkeit, den Pfad der Icons auch für @import-Anweisungen zu definieren? Ich behelfe mich jetzt natürlich durch die simple Alternative, den Teil des .css-Codes, der selbst definierte Symbole/Icons enthält, weiterhin vollständig in der userChrome.css-Datei zu belassen und nur solche Teile auszulagern, die - in dieser Hinsicht- "unproblematisch" sind.

    Lieber ein Narr sein auf eigene Faust, als ein Weiser nach fremdem Gutdünken ! (Nietzsche)

  • Hallo Pentomino!


    Damit das bei mir funktioniert, habe ich im Ordner > chrome < die Unterordner > meineChromecss < und > meineContentcss < angelegt.

    Damit jetzt die Icons auch angesprochen werden, musste ich den Ordner > Icons < in den Unterordner > meineChromecss < einfügen. Das verhält sich auch so mit dem eigenen Startbild , das dann in den Unterordner > meineContentcss < eingefügt sein muss. Nur so habe ich alles zum Laufen gebracht.

  • url('./icons/Apotheke.png').

    Funktioniert hier einwandfrei mit diesem Code:


    CSS
    1. menuitem[label="Seite in Pocket speichern"] {
    2. -moz-appearance: none !important;
    3. background: url("file:..//Icons/2.png") no-repeat !important; /*Pfadangabe Ordner Icons*/
    4. background-position: 5px 2px !important;
    5. }

    und dieser @import Regel:


    @import "CSS/Test.css";


    Der Ordner Icons befindet sich im Ordner chrome.

  • FuchsFan , 2002Andreas : Vielen Dank für die Antworten. Da ich eine "allgemeine" Ansprache der Icons (unabhängig vom speziellen Pfad) gewünscht habe, hat mir hier der Tipp von FuchsFan die Lösung gebracht: Ich habe einfach den Ordner "icons" in meinen neu definierten Ordner für die CSS-Dateien (bei mir "CSS") geschoben. Dadurch wurden diese auch anschließend erkannt.:thumbup:

    Lieber ein Narr sein auf eigene Faust, als ein Weiser nach fremdem Gutdünken ! (Nietzsche)

  • Super! Wieder was dazugelernt! Besten Dank! Es kann halt auf einen einzelnen Punkt ankommen;)

    Lieber ein Narr sein auf eigene Faust, als ein Weiser nach fremdem Gutdünken ! (Nietzsche)

  • Als Ergänzung zu Beitrag #5 von 2002Andreas: Die Anzahl der Punkte richtet sich nach den Ebenen vom Ausgangspunkt bis zum Ziel. Der Pfad zum Symbol ist in der CSS-Datei im Ordner CSS unterhalb des Ordners chrome. Der Ordner icons ist ebenfalls unterhalb des Ordners chrome, er ist also auf der gleichen Ebene wie der Ordner CSS. Um auf das Symbol im Ordner icons zuzugreifen, muss man man erst eine Ebene höher in den Ordner chrome und dann eine Ebene tiefer in den Ordner icons. Das sind zwei Ebenen, daher zwei Punkte vor dem Schrägstrich.

    Ü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 und WordPress

  • Im Beispiel wird ja nicht zwei Ebenen höher gegangen, sondern nur eine und dann wieder eine hinunter. Das sind insgesamt zwei Ebenen. Meine Erklärung mag nicht ganz korrekt sein, aber sie führt zum Ziel.

    Ü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 und WordPress

  • Danke für die div. Erklärungen. Ich bleibe jetzt bei meiner zuerst gewählten Variante, dann brauche ich im Code an der Anzahl der Punkte nichts zu ändern:)

    Lieber ein Narr sein auf eigene Faust, als ein Weiser nach fremdem Gutdünken ! (Nietzsche)

  • Pentomino , @all


    Es freut mch natürlich, dass mein Tipp Dir geholfen hat. Es ist natürlich die Diskussion über die einzelnen Ebenen wichtig, damit man dementsprechend auch die richtigen Kommandos programmieren kann. Ich gehöre nicht zu den Leuten, die ständig hier ihr Wissen einbringen, weil mir dazu einfach die Kenntnisse fehlen. Aber durch ständiges Mitlesen hier im Forum hat sich mein Kenntnisstand bei diesen Sachen doch erheblich verbessert. Und ich muss sagen, auch mit 72 kann ich immer noch gut mithalten.

    Nun aber zur Sache. Mit den Ebenen ist ja alles nachvollziehbar, denn wenn ich alle Einträge über die userChrome.css erledige, die ja im Ordner > chrome < vorhanden ist, so ist auch der Ordner > Icons < dort richtig positioniert. Gehe ich aber eine Ebene weiter, und erstelle wie ich einen Unterordner, so muss ich dann auch dementsprechend alles in diesen Ordner einbringen, um nicht noch zusätzliche Pfadangaben zu erstellen, die alles nur noch weiter komplizieren. Das waren meine Überlegungen, nachdem es auch im ersten Anlauf nicht funktioniert hat. Ich möchte hier keinem Experten auf den Schlips treten, aber es läuft so perfekt.


    Grüße

    FuchsFan

  • Meine Erklärung mag nicht ganz korrekt sein, aber sie führt zum Ziel.


    Nicht nur "nicht ganz korrekt", sondern wirklich komplett falsch und daher eben nicht zum Ziel führend. ;) Der Sinn deines Beitrags war ja, dass du eine Erklärung ergänzen wolltest, was an sich eine gute Sache ist. Aber das bringt natürlich nur etwas, wenn die Erklärung auch richtig ist. Daher muss das einfach richtig gestellt werden, damit niemand durch eine falsche Erklärung verwirrt wird.


    Deine Erklärung hat zwei ganz grundlegende Probleme, die ich sehr gerne erkläre:


    1.

    Im Beispiel wird ja nicht zwei Ebenen höher gegangen, sondern nur eine und dann wieder eine hinunter. Das sind insgesamt zwei Ebenen.

    Diese Rechnung haut nicht hin, denn 0-1+1=0, nicht 2. Da das eine einfache mathematische Formel ist, gibt es hier keinen Interpretationsspielraum, es gibt nur eine einzige richtige Antwort. Von zwei Ebenen zu sprechen, wenn es in Wahrheit um eine Datei im gleichen Verzeichnis geht, ist irreführend. Ich glaube nicht, dass auch nur einer, der hier von "2 Ebenen" liest, das als "gleiches Verzeichnis" interpretieren würde. Und wieso man überhaupt irgendetwas rechnen muss, wenn man eh im gleichen Verzeichnis bleibt, ist mir auch nicht klar.


    2.


    Die Anzahl der Punkte richtet sich nach den Ebenen vom Ausgangspunkt bis zum Ziel.


    […]


    Um auf das Symbol im Ordner icons zuzugreifen, muss man man erst eine Ebene höher in den Ordner chrome und dann eine Ebene tiefer in den Ordner icons. Das sind zwei Ebenen, daher zwei Punkte vor dem Schrägstrich.



    Völlig unabängig von obigem Rechenfehler ist diese Erklärung einfach nur falsch. Du schreibst: Zwei Ebenen = 2 Punkte vor dem Schrägstrich. Also ganz gleich, wie du rechnest und was du als drei oder vier Ebenen betrachten würdest, das Ergebnis wäre in jedem Fall, dass dann drei oder vier Punkte vor dem Schrägstrich sein müssten.


    Du sagst also das hier aus:


    ./ => 1 Ebene

    ../ => 2 Ebenen

    .../ => 3 Ebenen

    ..../ => 4 Ebenen


    Aber tatsächlich ist es so:


    ./ => 0 Ebenen, gleiches Verzeichnis

    ../ => 1 Ebene darüber

    ../../ => 2 Ebenen darüber

    ../../../ => 3 Ebenen darüber

    ../../../../ => 4 Ebenen darüber


    Ich hoffe, jetzt ist es für alle klarer. :)

  • Wir sind uns einig, dass hier ../ funktioniert. Die CSS-Datei ist im Verzeichnis CSS unter chrome, dort sind nicht die Icons. 0 Ebenen sind es schon mal nicht, 1 Ebene drüber kann es aber auch nicht sein, denn dann wären die Symbole im Ordner chrome. Dort sind sie aber nicht, sie sind im Ordner icons unterhalb von chrome. Es geht also wieder eine Ebene hinunter. Die Anzahl der durchlaufenen Ebenen ist 2. Ich rede die ganze Zeit von der Anzahl der Ebenen und nicht von der Anzahl der Ebenen darüber.

    Ü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 und WordPress

  • Danke, .DeJaVu.


    milupo: Dass deine Erklärung in diesem Fall zufällig hinhaut, ist ja schön. Aber der Sinn deines Beitrags war es ja, die Funktionsweise zu erklären und eine Erklärung muss zwingend korrekt sein, ansonsten taugt sie nicht als Erklärung, weil die Erklärung dann von niemandem angewendet werden kann.


    Dass deine Erklärung nicht hinaut, merkst du selbst ganz schnell, wenn du einfach mal ein paar andere Szenarien durchspielst. Wenn ich dich jetzt zum Beispiel fragen würde, wie du zwei Ebenen raufkommst, wäre die Antwort nach deiner Erklärung exakt die gleiche wie wenn die Datei im gleichen Ordner ist. Das siehst du hoffentlich auch ein, dass das nicht sein kann. Du behandelst eine Ebene rauf und eine Ebene runter nämlich exakt identisch, so dass überhaupt keine Unterscheidung möglich ist. Aber Pfad-Angaben sind immer eindeutig. ;)