Previous Message
Next Message

Printing w/CSS

Sent by Marcus Duke on 29 November 2004 16:04


just a quick update to let you know that "static" property value seemed 
to cure most of the ailments. oddly, bottom-of-page truncations also 
seemed to cease despite your noting the below specifications would not 
address that. go figure, but thanks much for the help and 
illumination--it made a big difference in my client's happiness and i 
really appreciate it!

Marcus Duke
Webmaster/Info Specialist
UW Aquatic & Fishery Sciences

On Nov 22, 2004, at 11:43 AM, Syntactic: Jim Wilkinson wrote:

> Hi Marcus,
>
> There are quite a few issues here. To set the scene, there is a 
> distinction between margins as seen and implemented by the printer and 
> margins as defined by CSS. I think you're imagining that they are one 
> and the same and that the margins on <body> are measured from the 
> physical edge of the paper. If so, you're far from alone! This Wiki 
> page might make things clear:-
>
> http://css-discuss.incutio.com/?page=PrintStylesheets
>
> Things would be straightforward if all the content was contained 
> within the box associated with <body> (as is usually the case but by 
> no means always). The further complication in your case arises from 
> the interesting (shall we say) overall document structure generated by 
> Adobe GoLive. All of the content in fact sits outside of the <body> 
> box (which is reduced to a line of zero height, visible if you put a 
> border on it) because the content (e.g. in div#content) is absolutely 
> positioned.
>
> As a hand-coder, I know what position:absolute does but I've never 
> used it and I can't say how it would behave when you come to print a 
> document. Very oddly, it appears!
>
> A positioning expert may be able to help you further. You only want to 
> print the #content div (I think) so I tried a rough hack of your print 
> stylesheet and got quite a good result (of course, you'd have to test 
> it on several printers). Here are rough replacements for two of your 
> rulesets:-
>
> #content {
> text-align: left; margin: 0 auto; padding-right: 0;
> position: static; z-index: 1; visibility: visible; display: block }
>
> body  {
> color: black; background-color: white;
> margin: 0;
> border: 1px solid red; }
>
> The solid red border is just so that you can see what's going on. Add 
> it temporarily to your screen stylesheet as well. The main thing I've 
> done is to change the positioning of div#content from absolute to 
> static (i.e. normal flow) on the assumption that it's the only div to 
> be printed.
>
> When you've had a play, come back to the list if you need further help.
>
> -- 
> Jim Wilkinson
>
> Cardiff, Wales UK
>
> Opera e-mail client: http://www.opera.com/m2/

______________________________________________________________________
css-discuss [EMAIL-REMOVED]]
http://www.css-discuss.org/mailman/listinfo/css-d
List wiki/FAQ -- http://css-discuss.incutio.com/
Supported by evolt.org -- http://www.evolt.org/help_support_evolt/
Previous Message
Next Message

Message thread: