CSS Code nicht sortiert...

  • Schau mal in die template.css Das ist die Ursprungsdatei, die auch editiert werden kann. Die min.css ist eine "minified" Datei (Löschung aller funktional unnötigen Zeichen) ,um die Transfergeschwindigkeit zu reduzieren. Für diese Reduzierung gibt es speziell Tools.


    Die Antwort, auf die Frage, wie diese min-Dateien bei Joomla erzeugt werden, muss ich allerdings den Wissenden hier im Forum überlassen.

    Gruß

    Heinz


    "Wer es nicht versucht schafft es auch nicht."

  • Ist schon klar, dass die template.css ebensowenig geändert werden sollte. Aber kann ich auch aus der user.css eine user.min.css erzeugen und wenn ja, wird die dann bevorzugt geladen?

    Gruß

    Heinz


    "Wer es nicht versucht schafft es auch nicht."

  • wird die dann bevorzugt geladen?

    Ja. Das ist die Cleverness des Web Asset Managers (die manchmal auch nerven kann ;) ) Nur, wenn der Debug-Modus aktiviert ist, nimmt er die unminifizierte.


    Und, wenn als Krönung eine user.min.css.gz vorliegt, wird die bevorzugt geladen, falls die entsprechenden Zeilen in .htaccess nicht entfernt wurden. Und auch das kann manchmal nerven bei der Suche, warum eine geänderte CSS- oder JS-Datei nicht wirkt ;)

  • Die template.css und auch die template.min.css sind nicht für Änderungen bestimmt.


    Wer was ändern will erzeugt eine neue Datei user.css und überschreibt dort alles, was er ändern möchte, mit eigenen css definitionen.

    Ich habe bisher immer dort veränderungen vorgenommen und habe erst in diesem Forum von der user.css gelesen, diese habe ich auch angelegt aber das Füllen muss ich erst noch lernen, ich habe die besagte template.min.css schon mal in Reihe gehabt mit dem Editor Phase 5, ich hatte sie sogar abspeichern können und im Backend war sie schön aufgelistet zu sehen, so das ich mir die Zeile gesucht habe und dort was verändert habe, kein langes suchen, einfach die zeilennummer gesucht und fertig, jetzt aus diesem Zahlen und Buchstaben Haufen was finden ist sehr zeitaufwendig. Ich habe es natürlich nochmal versucht die Datei zu formatieren mit dem Editor aber diesmal klappt es nicht, der Code sieht auch irgendwie komisch aus, beim hochladen der Datei ist meine Homepage völlig krumm und schief erschienen, und jedesmal wenn ich Joomla update, überschreibt das Update wohl meine template.min.css und die Datei ist wieder nur ein Zahlen und Buchstabenhaufen, aber nagut, ich hatte wohl nur glück, dass ich die Datei mal in Zeilen hatte, ich übe mich in der user.css, vielen Dank aber es hätte ja sein können , dass es da ein Editor oder Konverter für gegeben hätte...

  • und jedesmal wenn ich Joomla update, überschreibt das Update wohl meine template.min.css

    Deswegen gibt es die user.css, wo man eigene Änderungen ergänzen kann. Man soll nie die Kerndateien von Joomla, Templates oder Erweiterungen verändern, die werden bei Updates immer überschrieben.

    Beim CSS ist immer am besten im Developer Tool des Browsers (F12) sich den CSS Code, den man verändern will, zu kopieren und in der user.css Datei einzufügen.

  • ...gibt es ein Grundgerüst für die user.css oder schreibe ich da einfach die Code schnippsel rein, die man hier und da im Forum sieht, z.B. wollte ich den ,nach oben Button, immer sichtbar haben, habe hier im Forum diesen Code gefunden( #back-top { position: fixed; } ) und in die user.css eingefügt, leider passiert nichts im Frontend, der Button steht weiterhin am ende der Seite, muss ich in der user.css noch was ergänzen, sorry ...wird wohl gerade ein neues Thema .

  • Der Code in der user.css kann (nach meiner Erfahrung) durch Anweisungen der template.css oder anderer .css-Dateien überschrieben werden - abhängig davon in welcher Reihenfolge die Dateien geladen werden. Das kann z.B. über F12 angeschaut werden. Da hilft dann in der user.css ggf. ein !important, das nachträgliches Überschreiben verhindert:

    CSS
     #back-top { position: fixed !important; }

    Das Überschreiben kann natürlich auch verhindert werden durch Änderung der Ladereihenfolge (wie das geht habe ich allerdings noch nicht begriffen - da fehlt mir wohl das Wissen).


    Ein Grundgerüst gibt es eigentlich nicht (?) - wichtig ist nur dass alles gut strukturiert und kommentiert ist, damit auch Monate später alle Änderungen und Ergänzungen nachvollziehbar bleiben.

    Gruß

    Heinz


    "Wer es nicht versucht schafft es auch nicht."

  • wie das geht habe ich allerdings noch nicht begriffen - da fehlt mir wohl das Wissen

    Am Beispiel eines puristischen Cassiopeia:


    In der templates\cassiopeia\joomla.asset.json findest das:

    Das

    Code
    "weight": 500

    sorgt dafür, dass die user.css nach hinten sortiert wird. es gehen sogar negative Werte, um ein Asset nach vorne zu zwingen.


    Dann ist es egal, wann die index.php oder jede andere Erweiterung die Zeilen zum Laden der user-Geschichten abfeuert.


    Und die dependencies sorgen dafür dass die dort genannten Assets unbedingt zuvor geladen werden. In diesem Fall wäre das z.B. die template.css.


    Was ich allerdings noch nicht ausprobiert habe, ob man die joomla.asset.json in einem Child-Template überschreiben kann. Denke aber doch.


    Aber(!), das ist die Theorie, die durch jedwede Erweiterung ausgehebelt werden kann, wenn sie nicht vollumfänglich den Web Asset Manager, wenigstens auf unbewussten Umwegen, unter Joomla 4 nutzt. Dann wird es etwas wisenschaftlicher ;) Geht aber meist auch über Umwege. Etwas Forscherei, manchmal.

  • Ich habe mal aus reinem Interesse auf Deine Seite geschaut und den Button gar nicht gefunden aber dann über F12 position: fixed gesetzt, dann taucht er unten rechts auf, sofern nach unter gescrollt wurde. Wenn Du in aber ständig sehen willst dann ist zusätzlich opacity: 1; erforderlich.


    Die Position kannst Du dann über top, bottom oder sogar right steuern.


    Das mit !important ist also nicht notwendig (war ein Irrtum meinerseits - ich habe auf meinen Seiten position: fixed ebenfalls ohne !important realisieren können - aber ggf. kannst Du den Hinweis ja anderweitig nutzen)

    Gruß

    Heinz


    "Wer es nicht versucht schafft es auch nicht."

  • in meinem ersten Bild oben, dort steht er doch drin, warum er nicht gesehen wird keine ahnung, ,

    Die user.css liegt bei dir aber unterhalb von /templates/......

    Lege sie unterhalb von /media/..... , dort wo die css-Dateien liegen!

    Der korrekte Pfad ist in deinem 1.Screenshot zu erkennen.

    Dieser hat sich vor ein paar Monaten geändert.

    Wenn du das machst, dann wird sie auch geladen und wirkt sich aus. Momentan ist das nicht der Fall.