Tsames: Netscape ignoriert CSS:font-size beim Drucken

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

  1. * 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!!

    1. 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

      1. 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

        1. 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