XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Knowledge Base (http://xhtmlforum.de/forumdisplay.php?f=79)
-   -   @print - IE-BUG [expression] / background-color (http://xhtmlforum.de/showthread.php?t=32720)

ulle 28.06.2004 16:18

@print - IE-BUG [expression] / background-color
 
Hat jemand Erfahrung mit Background-Eigenschaften im Style für Drucker :?:

Ich bekommen werder Hintergrundbilder noch -farben gedruckt, bzw. in die Vorschau. Dies ist ja normal auch gut so, aber für bestimmte Container wäre es ja sinnvoll.


Kann man diese Eigenschaften erzwingen :?:

hemfrie 28.06.2004 16:23

so weit ich weiss, lässt sich das nur im Browser einstellen.

Beim IE z. B. unter

extras -> internetoptionen -> erweitert -> hintergrundfarben und -bilder drucken

Eine Eigenschaft die bestimmte Darstellungen erzwingt ist mir leider nicht bekannt.

:)
hemfrie

ulle 28.06.2004 16:38

Ich hatte es geahnt, bzw. auch schon probiert, aber nichts geht :!:

Code:

background-color: #CCCCCC !important;
Noch nicht mal erzwingen läßt es sich.....

Pablo 28.06.2004 23:27

Das hat auch seinen Sinn: Stell dir vor, du druckst eine Seite mit schwarzem Hintergrund aus, nach einer Seite ist deine Patrone dann fast leer.

Was du jedoch machen kannst, ist eine Grafik über die gesamte Seite spannen (mit <img>!!!) und darüber mit z-index die Objekte zu lagern. Habe ich zwar nicht ausprobiert, dürfte aber klappen.

Pablo

ulle 29.06.2004 00:59

[Conditional Comments] :arrow: Ich wußte das mir die Teile Probleme machen werden....


Code:


<link rel="stylesheet" href="screen_v1.css" type="text/css" media="screen" title="Basic Style" />
<link rel="stylesheet" href="print_v1.css" type="text/css" media="print" title="Print Style" />

<!--[if gte IE 5]>
        <style type="text/css">
               
                #frame { width:expression(document.body.clientWidth > 1050? "1050px": "auto" );}
                #w3c { width:expression(document.body.clientWidth > 1062? "1062px": "auto" );}
               
                @media print
                {
                #frame,#w3c {width: auto;}
                }
               
        </style>
<![endif]-->

Der IE besteht im PRINT auf seine Pixelbreite der Conditional Comments, also läßt sich nur durch :arrow:
Code:

<!--[if gte IE 7]>
:arrow: also einer ungültigen Angabe (Version IE7) davon abbringen über die Page-Breite zu schreiben, bzw abzuschneiden :!:

Und der FIREFOX 0.8 will mein print.css überhaupt nicht :arrow: Druckvorschau ist ohne Formatierung :?

Scheinbar ist es wohl zu spät geworden..........

Hat jemand eine Lösung

ulle 29.06.2004 13:43

Wurscht gepellt :!: so nun habe ich auch mein Problem mal aus dem Code gepellt.

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head><title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<style type="text/css"> 
<!--
html,body {
        margin: 0;
        padding: 2px 2px 0 2px;
        background-color: #FF9933;
        color: #000000;
        font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
        font-size: 100.01%;
}

#frame {
        max-width: 1050px; /* für IE max-width BUG siehe unten, [Conditional Comments] */
        margin: 0px auto;
        border: 3px solid #666666;
        padding: 3px 5px;
        background-color: #FFFFFF;
}
p {
        margin: 1.4em 0;       
        font-size: 0.8em;
}

@media print { #frame { width: 200px; } }
-->
</style>

<!--[if gte IE 5]>
        <style type="text/css">
                @media screen {
                #frame { width:expression(document.body.clientWidth > 1050? "1050px": "auto" ); }
                }
        </style>
<![endif]-->

</head>
<body>

<div id="frame">



Ich kann den IE6 nicht davon überzeugen das er den Conditional Comments nur beim SCREEN anwendet. Wie gesagt, einfach mal den CC ungültig machen und schon ist in der Druckvorschau der #frame nur noch 200px breit.....
</p>
</div>

</body></html>

Ich kann den IE6 nicht davon überzeugen das er den Conditional Comments nur beim SCREEN anwendet. Wie gesagt, einfach mal den CC ungültig machen und schon ist in der Druckvorschau der #frame nur noch 200px breit.

Hat den niemand eine Idee :?:

Des weiteren würde mich noch interessieren ob andere Browser es denn ordentlich können.

Firebird 0.7 :arrow: OK

beeviz 29.06.2004 13:56

also soweit ich weiß unterstützt der IE "print" als "media" (noch?) nicht...

leg ich meine hand aber nicht für ins feuer. bin mir aber dennoch recht sicher.

ulle 29.06.2004 13:59

DOCH :!:

Wenn Du den Conditional Comments heraus nimmst ist in der Druckvorschau die #frame-BOX nur noch 200px breit :!:

:arrow: also versteht der IE6
Code:

@media print { #frame { width: 200px; } }
Habe inzwischen auch getestet ob er @media screen versteht, das kann er auch :!:

ulle 29.06.2004 14:23

Teilerfolg :!:

Es sind nicht die Conditional Comments sondern der [expression], der die Probleme macht, denn so geht es :arrow:

Code:

<!--[if gte IE 5]>
        <style type="text/css">
                @media screen {
                #frame { width: 1050px; }
                @media print {
                #frame { width: 200px; }
                }
        </style>
<![endif]-->

siehe :arrow: http://www.xhtmlforum.de/viewtopic.php?p=3251#3251, dort habe ich mich damals überzeugen lassen :!:


[edit]
Stellt sich dennoch die Frage warum der [expression] im PRINT-Mode überhaupt zieht, zumal der IE ja nach @media screen/print unterscheiden kann.
Oder mache ich einen Denkfehler :?
[/edit]

ulle 29.06.2004 16:09

Svend Tofte hat sich dazu geäußert :D

Da ich ja keine Ruhe lassen kann, habe ich mich mal per Email, wegen diesem PRINT-BUG, bei Svend Tofte gemeldet.

:arrow: http://www.svendtofte.com/
:arrow: http://www.svendtofte.com/code/max_width_in_ie/


Folgende Antwort erhalten:
Zitat:

Zitat von Svend Tofte per Email
Hey Ulle,

Yes, I do know about the "print bug". It's not a bug per ser, but it's rather a result of how expressions really work. Because they don't work like CSS does, at all.

When the stylesheet is loaded, any contained expressions is examined. Each expression is then wired up to any events on all matching elements. Let's say I have this expression:

p {
height: expression(window.status="hey";return 10;);
// this might not work 100%, I didn't run it, but it should be something like the above.
color:red;
}

Then, on every event, on every p tag in the whole document, the windows's status message will be set to "hey". After this, the p element has NOTHING to do with the stylesheet at all. At least not through it's "height" attribute. So if you were to dynamically disable the stylesheet. The color setting would go away, but the height setting, whatever you had it set to, would continue to be in effect.

This is because expressions are basicly NOT CSS. They are JavaScript. The notion merely allows one to use the pattern matching abilities of CSS, to great effect. Much like behaviors.

In fact, expressions are probably more like behaviors, then anything else. Except a more compact form of writing.

I hope this makes things a bit more clear for everyone? :)

Regards,
Svend

Ich wollte Euch diese Antwort nicht filtern bzw. vorenthalten.


Nun ist mein Englich nicht das Beste, trotzdem glaube ich ihn verstanden zu haben.


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:48 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2020, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2020