kw.mueller: Drucken

meine Homepage wird mit CSS formatiert
einige Grössen der Container passe ich mit Javascript an die Client-Größe an
wenn ich die Seite dann drucke, wird das js auch ausgeführt
das kann ich aber bei media=print nicht gebrauchen

wie kann ich das verhindern ?

  1. Hi!

    meine Homepage wird mit CSS formatiert

    Gut!

    einige Grössen der Container passe ich mit Javascript an die Client-Größe an

    Wer hat dir denn das beigebracht? Du verwendest Maßeinheiten wie "px",oder? Gib bei CSS einfach Maßeinheiten wie "em" an. Diese passen sich automatisch an, ohne dass du JavaScript dafür brauchst.

    Zum Thema Drucken und CSS empfehle ich dir folgenden Artikel: http://aktuell.de.selfhtml.org/tippstricks/css/drucklayout/index.htm

    ciao, hubschraubaer

    1. ich habe keine andere Lösung gefunden, um das was ich will im Browser zu erreichen
      aber das ist auch nicht das Problem, es klappt ja, auch mit verschiedenen Browsern

      das Problem ist das script, das im Body-Tag per onload aufgerufen wird
      ich suche eine Möglichkeit, das dieses bei media=print eben nicht aufgerufen wird, oder nichts tut

      1. Hi!
        Also ich bin nicht so der Experte, aber ich glaube nicht, dass das geht. Schließlich wird das Script ausgeführt (onLoad) bevor der User auf Drucken geklickt hat (nach OnLoad).
        Spontan fällt mir ein, dass du eine extra Seite erstellen könntest, die nur fürs Drucken gestaltet wurde.
        ciao, hubschraubaer

      2. Hallo,

        ich suche eine Möglichkeit, das dieses bei media=print eben nicht aufgerufen wird, oder nichts tut

        Das funktioniert nicht. Wie hubschraubaer schon schrieb, ist das JavaScript ja schon gelaufen, wenn man die Druckanweisung gibt.

        Du könntest versuchen, die CSS-Regeln für media=print als !WICHTIG! (!important) zu deklarieren. Mit font-size und color funktioniert das jedenfalls:

          
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  
                "http://www.w3.org/TR/html4/strict.dtd">  
        <html>  
        <head>  
        <title>Separates Druck-CSS</title>  
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">  
        <style type="text/css">  
        @media print {  
          /* ... Formatdefinitionen zum Drucken ... */  
          body { font-size:12pt !important; color:black !important; }  
        }  
        </style>  
        <script type="text/javascript">  
        <!--  
        window.onload = function() {  
         document.body.style.fontSize="120px";  
         document.body.style.color="#F00";  
        };  
        //-->  
        </script>  
        </head>  
        <body>  
        <p>Test</p>  
        </body>  
        </html>  
        
        

        viele Grüße

        Axel