Netscape ignoriert CSS:font-size beim Drucken
Tsames
- css
Hallo,
ich bin gerade dabei, behutsam auf CSS umzusteigen, um z.B. fürs gesamte
Webprojekt eine Schriftart festzulegen und nicht mehr mit <font face= ...>
arbeiten zu müssen.
Nun möchte ich v.a. für eine Tabelle auch die Schriftgröße per CSS
festlegen, d.h. etwas verkleinern, um sie übersichtlicher zu machen. Gerade
hier sehe ich den Vorteil von CSS, da nicht jedes <td>-Tag formatiert
werden muß.
Eigentlich bin ich inzwischen nach ausführlicher Archiv- und Websuche zum
Schluß gekommen, daß zumindest z.Z. die Angabe in "px" das vernünftigste
sein wird, weil:
* absolute Größen (pt, mm, in) auf Mac-/Linux-Rechnern meist kleinere
Schriftgrößen erzeugen und nicht skaliert werden können
* em und % zwar skalierbar wären (wie in HTML: <font size=-1>), sich
also mit der Anpassung der Standardschriftgröße des Browsers mitändern
würden, aber es eben doch überall anders aussieht, z.B. ist unter:
Opera: Standardschriftgröße (font size=3) = 110% = 1em
IE: '' = 100% = 1em
Netscape: '' = 95% = 0,95em
(bei meiner Einstellung von 11pt!)
usw. Vermutlich hängt sogar das noch von der Schriftart ab!
* die relativen Größen em oder % außerdem kaskadieren, d.h. bei einer
verschachtelten Liste oder Tabelle wird die Schriftgröße bei jeder
Stufe kleiner (naja außer bei Netscape), weil sich die Größe ja
jeweils auf das Elternelement bezieht. Das macht das Ganze absolut
unpraktikabel für die meisten Fälle!
Bleibt also eigentlich nur "px" übrig, das auf fast allen Rechnern die
annähernd gleiche Schriftgröße erzielt. Skaliert werden kann es vom
Besucher leider auch nur, wenn er Opera verwendet (Zoom).
Jetzt mein eigentliches PROBLEM:
Netscape zeigt die Formatierung mit "px" auf dem Bildschirm korrekt an,
aber wenn man die Seite ausdruckt, hat alles die Schriftgröße "12pt",
anstatt 12px = 9pt oder 24px = 18pt etc. Netscape ignoriert dann sogar
meine eingestellte Standardschriftgröße von 11pt.
Das Problem besteht im Übrigen auch mit "em" und "%", lediglich "pt" und
<font size=...> werden korrekt ausgedruckt!
Ist das nun nur ein Problem meiner Netscape Version (4.7/Win), dann wäre
es evtl. zu verschmerzen, oder tritt es bei allen Netscape-Versionen 4.x
(auch den neueren) auf? Dann würde ich doch lieber "pt" verwenden anstatt
"px", da ich noch fast ein Drittel Netscape-Besucher habe (Uni-Rechner!).
Ich habe mal eine Seite mit verschiedenen Größenangaben hochgeladen unter:
http://www.pit.physik.uni-tuebingen.de/~messner/test/fontsizes2print.htm
Wäre toll, wenn jemand mit einer anderen Browser-Version testen könnte, ob
es die Probleme mit der nicht übernommenen Schriftgröße beim Ausdrucken
ebenfalls gibt oder nicht. (Mit IE und Opera gab's bei mir keine Probleme!)
Kann es wirklich wahr sein, daß es noch keinen praktikablen CSS-Ersatz für
<font size=...> gibt, wenn man möchte, daß das Resultat auf dem Bildschirm
UND dem Ausdruck akzeptabel ist und sich sogar noch skalieren läßt für
Leute mit einer Sehschwäche?
Inzwischen etwas frustriert von CSS.
Tsames
PS: Zum Druckproblem habe ich im Web nichts gefunden außer:
http://www.utoronto.ca/ian/style/cssbugs/pr-printing.html
Generell informativ fand' ich die folgenden Seiten zum Thema:
http://www.alistapart.com/stories/fear4/
http://developer.apple.com/internet/fonts/index.html
http://www.netandmore.de/faq/fom-serve/cache/414.html
* absolute Größen (pt, mm, in) auf Mac-/Linux-Rechnern meist kleinere
Schriftgrößen erzeugen und nicht skaliert werden können
* em und % zwar skalierbar wären (wie in HTML: <font size=-1>), sich
also mit der Anpassung der Standardschriftgröße des Browsers mitändern
würden, aber es eben doch überall anders aussieht, z.B. ist unter:
Opera: Standardschriftgröße (font size=3) = 110% = 1em
IE: '' = 100% = 1em
Netscape: '' = 95% = 0,95em
(bei meiner Einstellung von 11pt!)
sonst noch sorgen? HTML + CSS sind nicht dazu da, um damit 'nen sonst wie genaues Drucklayout zu machen! Insbersondere Schriften sind alles, aber nicht berechenbar. Das man für Schriften als Einheit pt benutzt hat übrigens auch einen Sinn: es kann nicht jede Pixel-genaue Größe dargestellt werden, in einigen Fällen sind sogar nur einige wenige Werte (10pt, 14pt, 20pt oder so) möglich.
* die relativen Größen em oder % außerdem kaskadieren, d.h. bei einer
verschachtelten Liste oder Tabelle wird die Schriftgröße bei jeder
Stufe kleiner (naja außer bei Netscape), weil sich die Größe ja
jeweils auf das Elternelement bezieht. Das macht das Ganze absolut
unpraktikabel für die meisten Fälle!
diese Größen sind nun auch mal gar nicht für Schriften gedacht.
Netscape zeigt die Formatierung mit "px" auf dem Bildschirm korrekt an,
aber wenn man die Seite ausdruckt, hat alles die Schriftgröße "12pt",
anstatt 12px = 9pt oder 24px = 18pt etc. Netscape ignoriert dann sogar
meine eingestellte Standardschriftgröße von 11pt.
das wird am Drucker liegen, da hat man nämlich noch öfter nur einige wenige Größen zur Wahl. Versuch ausschließlich (!) gerade Zahlen als pt Angaben. Alles andere ist Quatsch!
Ist das nun nur ein Problem meiner Netscape Version (4.7/Win), dann wäre
es evtl. zu verschmerzen, oder tritt es bei allen Netscape-Versionen 4.x
(auch den neueren) auf? Dann würde ich doch lieber "pt" verwenden anstatt
"px", da ich noch fast ein Drittel Netscape-Besucher habe (Uni-Rechner!).
eh, zwischen Netscape 4.0 und Netscape 4.79 gab es in der Render-Engine nicht den kleinsten Unterschied.
Kann es wirklich wahr sein, daß es noch keinen praktikablen CSS-Ersatz für
<font size=...> gibt, wenn man möchte, daß das Resultat auf dem Bildschirm
UND dem Ausdruck akzeptabel ist und sich sogar noch skalieren läßt für
Leute mit einer Sehschwäche?
font-size:10pt (so in der Form geht das und ist immer noch viel genauer als die alten <font>
Inzwischen etwas frustriert von CSS.
du verwechselst CSS mit DTP!!
Hallo Kai,
HTML + CSS sind nicht dazu da, um damit 'nen sonst wie genaues Drucklayout zu machen!
Das ist auch wirklich nicht meine Absicht. Aber es ist schon dumm, wenn das
Resultat auf dem Bildschirm und im Ausdruck total anders aussieht.
Bisher habe ich für die Schriftgröße gar nichts angegeben außer vereinzelt
eingesprengten font-Tags; sonst halt Strukturierung mit <h2>, <h3>, etc.
Mein Problem bleibt aber, daß ich in einer Tabelle die Schrift
generell etwas kleiner haben möchte. Dies aber nicht mit dem
HTML-font-Tag in jeder einzelnen Zelle, sondern mit CSS.
diese Größen [em und %] sind nun auch mal gar nicht für Schriften gedacht.
Hm, das W3C empfiehlt die Verwendung von "em".
Netscape zeigt die Formatierung mit "px" auf dem Bildschirm korrekt an,
aber wenn man die Seite ausdruckt, hat alles die Schriftgröße "12pt",
das wird am Drucker liegen, da hat man nämlich noch öfter nur einige wenige Größen zur Wahl. Versuch ausschließlich (!) gerade Zahlen als pt Angaben. Alles andere ist Quatsch!
Am Drucker liegt es definitiv nicht - mit Opera und dem IE habe ich keine
Probleme beim Ausdruck derselben Files.
eh, zwischen Netscape 4.0 und Netscape 4.79 gab es in der Render-Engine nicht den kleinsten Unterschied.
Das wollte ich wissen - thanx! Dann verabschiede ich mich von den Pixeln.
font-size:10pt (so in der Form geht das und ist immer noch viel genauer als die alten <font>
So werde ich es nun wohl oder übel machen, aber damit ist die Schriftgröße
eben fix und kann sich nicht den Einstellungen des Surfers anpassen!
Außerdem ist's auf einem Mac und mit Linux evtl. zu klein. In dem Punkt
hatte das alte <font> also einen Vorteil :-(
Viele Grüße
Tsames
Hallo !
Wie wäre es denn einfach mit verschiedenen CSS, einmal für die Ausgabe am Monitor, einmal für die am Drucker?
Siehe: [http://selfhtml.teamone.de/css/formate/einbinden.htm#link_media]
Gruß,
kerki
Hi!
Wie wäre es denn einfach mit verschiedenen CSS, einmal für die Ausgabe am Monitor, einmal für die am Drucker?
Siehe: [http://selfhtml.teamone.de/css/formate/einbinden.htm#link_media]
Das wäre schön, aber klappt natürlich mit Netscape 4.x auch nicht!
Ich werde jetzt vermutlich den @import-Trick nehmen, um nur Netscape 4.x mit "pt" zu versorgen (damit die Schrift auch im Ausdruck kleiner ist). Die anderen Browser bekommen "px". Netscape kann ja keine externen Style Sheets mit @import einbinden, und nimmt deshalb das Style Sheet "nn4.css". Die anderen Browser, die @import verstehen, überschreiben die Angaben mit dem importierten Style Sheet "all.css". So ist die Schrift dann lediglich für Netscape 4.x (Mac/Linux) evtl. zu klein, kann aber nun auch mit Netscape 4.x vernünftig ausgedruckt werden.
Ansonsten ist "px" meines Erachtens eigentlich schon das Sinnvollste!
<html><head><title>Tabelle mit CSS formatiert</title>
<link rel=stylesheet type="text/css" href="nn4.css">
<style type="text/css">
<!--
@import url(all.css);
-->
</style>
</head>
<body text="#000000" bgcolor="#ffffff">
<div align="center" class="kl">
<table width="100%" border="1" cellspacing="0" cellpadding="2">
<tr>
<td>1. Spalte</td>
<td>2. Spalte<br>und mehr Text</td>
</tr>
</table></div>
</body></html>
mit nn4.css:
div.kl td { vertical-align:top; font-size:9pt; }
und all.css:
div.kl td { vertical-align:top; font-size:12px; }
Viele Grüße
Tsames