Ik ben met een pagina bezig die helemaal is opgebouwd uit verschillende divjes, absoluut gepositioneerd over het scherm. De daadwerkelijke content staat in een div welke op zijn beurt weer in een andere div staat:
Nu moet het mogelijk zijn om de inhoud van de pagina te printen, zònder de aparte knoppen en menubalken uit te printen. Dit doe ik als volgt, ik incl een printer.css, met daarin:
Dit zou in principe moeten werken, maar, bij het opstarten van m'n browser wordt, als javascript aanstaat, voor element "container" de overflow op "hidden" gezet. Gevolg hiervan is (zo ziet het er althans naar uit), dat de overflow zoals door javascript gezet, de "overflow: auto" uit printer.css overruled, met als gevolg dat er steeds een heel stuk van m'n content wegvalt bij het uitprinten (print preview that is
). Hoe kan ik dit nu verbeteren?
Een mooiere oplossing zou eigenlijk zijn, dat echt alleen id "include" wordt afgedrukt. Het werkt (natuurlijk) niet om #container ook display: none te geven, en #include display: block. Maar dat zou wel de mooiste manier zijn. Iemand een idee daarvoor?
(Ik kan natuurlijk best een popupje maken ofzo, waarin ik de te includen php-file open, maar dit is een veel mooiere manier vind ik.
Ik heb de site ook met mozilla bekeken, en met Javascript uit. Dan werkt het in principe wel goed, maar dan heb ik het (rare) probleem dat de pagebreaks niet werken. Hij print gewoon totdat het niet meer past, en stopt dan. Hoe verhelp ik dat?
code:
1
2
3
| <div id="container">
<div id="include"><? include($section_array[$section][0]); ?></div>
</div> |
Nu moet het mogelijk zijn om de inhoud van de pagina te printen, zònder de aparte knoppen en menubalken uit te printen. Dit doe ik als volgt, ik incl een printer.css, met daarin:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| @media print {
#footer, #header, #login, #menu1, #menu2, #menu3, #select, #selectpic, #scrolldown, #scrollup {
display: none;
}
#container {
border: none;
height: 100%;
left: 0px;
overflow: auto;
overflow-y: auto;
top: 0px;
width: 100%;
}
} |
Dit zou in principe moeten werken, maar, bij het opstarten van m'n browser wordt, als javascript aanstaat, voor element "container" de overflow op "hidden" gezet. Gevolg hiervan is (zo ziet het er althans naar uit), dat de overflow zoals door javascript gezet, de "overflow: auto" uit printer.css overruled, met als gevolg dat er steeds een heel stuk van m'n content wegvalt bij het uitprinten (print preview that is
Een mooiere oplossing zou eigenlijk zijn, dat echt alleen id "include" wordt afgedrukt. Het werkt (natuurlijk) niet om #container ook display: none te geven, en #include display: block. Maar dat zou wel de mooiste manier zijn. Iemand een idee daarvoor?
(Ik kan natuurlijk best een popupje maken ofzo, waarin ik de te includen php-file open, maar dit is een veel mooiere manier vind ik.
Ik heb de site ook met mozilla bekeken, en met Javascript uit. Dan werkt het in principe wel goed, maar dan heb ik het (rare) probleem dat de pagebreaks niet werken. Hij print gewoon totdat het niet meer past, en stopt dan. Hoe verhelp ik dat?
[ Voor 16% gewijzigd door Dr_Frickin_Evil op 30-01-2004 23:25 ]