Closed Bug 598489 Opened 10 years ago Closed 6 years ago

Printing a message in Hotmail only prints the first page (mail.live.com)

Categories

(Web Compatibility :: Desktop, defect, critical)

defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: zzxc, Unassigned)

References

()

Details

(Keywords: regression, Whiteboard: [country-all] [needaccount] )

Attachments

(1 file)

Printing messages in Hotmail results in the body not wrapping across multiple pages, cutting off all message content after the first page.  

I did a quick test to find the CSS rule causing the problem, which is: .ReadMsgBody .ExternalClass{display:inline-block} (applied to the <div> holding the message body, which seems to break page spanning in Gecko)

Trying the same test in Minefield results in a blank page printing, as it seems hotmail is feeding different stylesheets for different browser versions.
How is this not just a dupe of one of the countless other single-page printing bugs? I don't really see "get Hotmail to avoid Gecko printing bugs by tweaking their code" as a TE issue, I guess ;)

cl
According to other bugs (bug 484526 and bug 393779), Hotmail printing has broken in Mozilla and been fixed before.  The page seems to be using the display: inline-block rule to enforce a margin, which is not ideal.

Since it's important that popular sites don't regress in Firefox, a TE bug seems appropriate.  It would be great if Hotmail would avoid using this troublesome layout in their printable message view, since it's breaking with Gecko and is completely unnecessary.
Keywords: regression
(In reply to comment #0)
> Printing messages in Hotmail results in the body not wrapping across multiple
> pages, cutting off all message content after the first page.  
> 
> I did a quick test to find the CSS rule causing the problem, which is:
> .ReadMsgBody .ExternalClass{display:inline-block} (applied to the <div> holding
> the message body, which seems to break page spanning in Gecko)

The contents of an 'inline-block' will not break in Gecko, and this is required by the CSS spec, which says in 13.3.3
( http://www.w3.org/TR/CSS21/page.html#allowed-page-breaks ) :

# In the normal flow, page breaks can occur at the following places:
#
# 1. In the vertical margin between block boxes. When an unforced page break
#    occurs here, the used values of the relevant 'margin-top' and
#    'margin-bottom' properties are set to '0'. When a forced page break
#    occurs here, the used value of the relevant 'margin-bottom' property is
#    set to '0'; the relevant 'margin-top' used value may either be set to '0'
#    or retained.
# 2. Between line boxes inside a block box.
# 3. Between the content edge of a block box and the outer edges of its child
#    content (margin edges of block-level children or line box edges for
#    inline-level children) if there is a (non-zero) gap between them.

Note that this does not allow breaking within a line box; an inline-block is within a line box and therefore cannot be broken.
Someone with a hotmail account needed for testing if it's still an issue.
Assignee: english-us → nobody
Component: English US → Desktop
Whiteboard: [country-all] [needaccount]
I can't find any problems. To be clear: when testing, I used the "Print" command in Hotmail's (outlook.com's) UI, which opens a new tab where the email is specifically formatted for printing, then triggers a window.print() command.

One of the E-mails I tested with came out with not quite enough whitespace, so print was less readable than screen rendering. However, that's a separate problem and I could not find this issue anymore.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
Product: Tech Evangelism → Web Compatibility
You need to log in before you can comment on or make changes to this bug.