• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Drucklayout benutzt nicht das Druck-CSS

JensB

Neues Mitglied
Hallo Leute,

eine kleine Frage: Ich habe für eine Webseite ein Drucklayout-CSS erstellt, dass die Seite deisgntechnisch etwas aufwertet und auch die Schriftart ändert (mit Serifen) etc. Nun wird leider dieses Layout nicht angezeigt, wenn ich (im IE und im FF) auf Druckvorschau klicke. Eingebunden habe ich die Stylesheet(s) so:
Code:
<link rel="stylesheet" href="css/style.css" type="text/css" media="all">
<link rel="stylesheet" href="css/print.css" type="text/css" media="print">

Und auch beim Drucken "hält" er (IE und FF) sich nicht an das print.css. Wo liegt der Fehler?

Gruß & danke für eure Antworten,
Jens
 
hast du in der print.css hinter den argumenten auch !important?

also:
Code:
body {
font-family: courier !important;
}
 
Also Link zur Seite gibt's nocht nicht (wie immer bei mir, leider alles erstmal auf der Platte) aber ich hab was anderes rausgefunden, wenn ich das eine Stylesheet als media="screen" einbinde anstatt media="all" dann klappt alles einwandfrei.

Also dieses !important hab ich noch niemals in meinem Leben gesehen muss ich eingestehen, aber die Tags sollten richtig geschlossen sein, habe ich so bei selfHTML gefunden und eigtl auch immer so gemacht. Ist ja HTML und nicht XML.
 
Also Link zur Seite gibt's nocht nicht (wie immer bei mir, leider alles erstmal auf der Platte)
Für solche Probleme wäre es aber sinnvoll, die z.B. bei einem Freehoster hochzuladen. Gut, das war jetzt nicht so schwer zu finden, aber bei etwas komplexeren Problemen hilft das ungemein, wenn man da mit seinen Entwicklertools drüberschauen kann.

aber ich hab was anderes rausgefunden, wenn ich das eine Stylesheet als media="screen" einbinde anstatt media="all" dann klappt alles einwandfrei.
Ja, das ergibt Sinn, denn all beinhaltet ja auch print und wenn die Eigenschaften durch print nicht überschrieben werden, ändert sich eben nichts.

Also dieses !important hab ich noch niemals in meinem Leben gesehen muss ich eingestehen,
Es gibt der Eigenschaft dir höchste Priorität, sie kann dann also nicht mehr überschrieben werden.

aber die Tags sollten richtig geschlossen sein, habe ich so bei selfHTML gefunden und eigtl auch immer so gemacht. Ist ja HTML und nicht XML.
Wenn du einen HTML-Doctype verwendest, kannst du es so lassen, wenn du aber XHTML verwendest, müssen sie geschlossen werden.
 
Ja, das ergibt Sinn, denn all beinhaltet ja auch print und wenn die Eigenschaften durch print nicht überschrieben werden, ändert sich eben nichts.
Naja ich finde es ergibt keinen Sinn da die beiden Stylesheets bis auf die Drucklayout-relevanten Stellen exakt gleich sind und print.css somit ale relevanten Informationen überschreibt... Seltsam.
 
Hallo.

Ich habe das so verstanden: Wenn du Stylesheets für verschiedene Medien hast must du genau angeben für welche Medien deine Stylesheets sind.
Ein media="all" überschreibt alle anderen Stylesheets da er ja für alle Medien gilt, wird also höher gewertet als ein media="print".

Gruss
Elroy
 
Hmm ja das würd Sinn ergeben wenn das media="all" höher gewertet wird. Dannmüsste ich in der Tat ein !important verwenden. Seltsam ist allerdings dass ich den CSS-Code wie oben angegeben meine ich bei selfHTML gefunden hab. Könnte ein Fehler sein. Ansonsten danke ich für die Erleuchtung :-)

Aber noch ne kleine Frage: Ich habe das Problem, dass auf der Webseite viele tabellarische Daten vorkommen (sind aber nie sonderlich viele, sind Steckbriefe von Personen, also so jeweils vielleicht 7 Zeilen). Wenn die ausgedruckt werden, sollten die einzelnen Tabellen durch einen Zeilenumbruch nicht in der Mitte oder so "aufgeschnitten" werden. Dafür gibt es ja das CSS-Attribut page-break-inside: avoid; das aber leider nur im Opera unterstützt wird. Gibt es da eine Alternative?

Gruß & macht euch nen schönen Sonntag,
Jens
 
Hallo,

also weiß vielleicht jemand, wie genau ich den Seitenumbruch innerhalb einer Tabelle ohne das opera-spezifische page-break-inside verhindern kann?

Gruß
Jens
 
Das ist nicht Opera-Spezifisch, das ist normales CSS SELFHTML: Stylesheets / CSS-Eigenschaften / Layouts f, das schlecht Unterstützt wird.

Ich kenne keine Möglichkeit. Mit thead und tfoot Auszeichnungen (und bei tfoot noch zusätzlich entsprechende Display-Formatierungen) kann man aber bei vielen Browsern dafür sorgen, dass der Tabellenkopf und Tabellenfuß sich auf jeder Seite wiederholen.
 
Zurück
Oben