Hej Matthias,
was ist eigentlich der Vorteil von @media print gegenüber einer expliziten print.css - in dem Artikel des Wiki wird von "Übersichtlichkeit" geredet. Das dürfte Ansichtssache sein.
Der hauptsächliche Vorteil ist IMHO einen HTTP-Request zu sparen und beim minifizieren usw nur eine Datei handeln zu müssen.
Und du benötigst ggf. doppelte Einträge. Regeln, die für screen und print gleichermaßen gelten sollen, müssen dann auch in beiden Ressourcen stehen.
Die habe ich nie benötigt, als ich noch mit mehreren Dateien gearbeitet habe - eine Datei galt für alle Medien-typen, in der print.css wurde nur überschrieben, was im Druck anders sein sollte.
Wenn das nicht reicht, braucht man drei Dateien (all, screen und print), um möglichst DRY zu arbeiten (dont repeat yourself).
Macht es Sinn, die print.css aus Performance-Gründen am Seitenende einzubinden - habe das schlicht nie probiert...
Es ergibt Sinn, auf eine print.css zu verzichten.
Ja, aber warum?
CSS gehört zudem in den head, falls es kein scoped-Attribut besitzt. Die Unterstützung ist mau.
Ich habe es selber auch immer im head, hatte aber mal Kontakt zu einem PHPler, der an beliebigen Stellen des Dokumentes <style></style> eingebaut hat - wo immer es ihm gerade passte. - Auch wenn ich es selbst nie so machen würde: es hat funktioniert.
Für die Druck-Datei könnte ich es mir darum durchaus am Ende des Dokumentes vorstellen - wenn es denn eine Druck-CSS sein muss. Was duchaus Sinn machen könnte, um die Bildschirmdarstellung zu beschleunigen.
Mich nervt es ehrlich gesagt, dass die print.css übrhaupt geladen wird, obwohl eine Webseite heutzutage kaum noch ausgedruckt wird - man hat sie ja auf dem Smartphone immer dabei.
Die Styles in eine CSS-Datei für alle zu schreiben ist für die allermeisten auch unnötiger Datenballast, der nie benötigt wird. - Unschön, aber ich weiß auch keine Lösung. Alles in eine Datei zu schreiben ist aber nur die am wenigsten schlechte Lösung IMHO...
Marc