Summary: | CSS property page-break-[before/after/inside] isn't supported for printing | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Tomas Simonaitis <haden> |
Component: | khtml printing | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | browserbugs2, luke-jr+kdebugs, missive, nicolas.girard |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
HTML test page for page-break-inside, <div>s and <p>s
br tag with page-break-after page-break-before and page-break-after css page |
Description
Tomas Simonaitis
2003-11-24 13:20:12 UTC
printing isn't khtml's biggest strength ;( Note that the example page lacks a semicolon at the end of the CSS line, which might make it invalid. KHTML doesn't support this even when it is valid, though. :( I have the same issue, does anyone know if this will be fixed in 3.2? CVS commit by carewolf: WebCore/125-merge of page-break-before, -after and -inside attributes. CCMAIL: 68930-done@bugs.kde.org M +18 -8 ChangeLog 1.291 M +11 -3 khtmlview.cpp 1.666 M +48 -2 css/cssstyleselector.cpp 1.317 M +31 -1 rendering/render_block.cpp 1.43 M +2 -0 rendering/render_block.h 1.18 M +25 -0 rendering/render_canvas.cpp 1.153 M +6 -8 rendering/render_canvas.h 1.56 M +1 -1 rendering/render_list.cpp 1.96 M +11 -3 rendering/render_style.cpp 1.72 M +35 -4 rendering/render_style.h 1.105 M +2 -2 rendering/render_text.cpp 1.251 I'm afraid this bug should be reopened. Please check out the test file I'm about to attach ; here konqueror fails to take into account "page-break-inside: avoid", both when dealing with <div>s and <p>s ; I can also provide further tests that show the same happens with <dd>s and <dt>s. I'm using a Mandrakelinux Cooker version of konqueror (currently 3.3.2 + some patches from the 3.4 branch) Created attachment 9449 [details]
HTML test page for page-break-inside, <div>s and <p>s
Yes, only page-break-before was implemented by the safari merge. I was trying to use the page-break-before on a br tag, but that does not work on 3.4.0. Also, using it on a singleton p tag does not work (but I am not really sure that is a legal tag...) Actually, I was trying page-break-after (which seemed more natural to me) but found this bug and saw that I can use page-break-before to get my page working properly for now. FWIW, page-break-before/after seem broken in CVS where it previously worked My previous comment was wrong. Both page-break-before and page-break-after was implemented. Seems there have been regressions. Test case? Created attachment 11230 [details]
br tag with page-break-after
The bug is the same as #57803 *** This bug has been marked as a duplicate of 57803 *** The test-case is wrong. Page-break-after only applies to block-level elements, <br> is inline. Created attachment 12243 [details]
page-break-before and page-break-after css page
New test with block-level tag instead of inline tag.
This bug should be REOPENED and based on page-break-* testcases from CSS 2.1 test suite (Release Candidate 5) build on January 11th 2011. CSS 2.1 testcases on chapter 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside' http://test.csswg.org/suites/css2.1/20110111/html4/chapter-13.html#s13.3.1 From my testing, the latest stable available Konqueror version (4.5.5) fails a very large majority of testcases involving page-break-*. A bunch of page-break testcases have been updated, some removed, some are considered blocking (not passed by 2 browser implementors: therefore blocking CSS 2.1), some are considered invalid, etc. Updated testcases for RC5 ------------------------ allowed-page-breaks-001a allowed-page-breaks-001c allowed-page-breaks-002 allowed-page-breaks-003 allowed-page-breaks-004 forced-page-breaks-000 forced-page-breaks-001 first-page-selectors-003 first-page-selectors-004 Invalid ones ----------- page-break-after-010 page-break-before-003 page-break-before-005 Testcases with issues: http://wiki.csswg.org/test/css2.1/issues Invalid testcases: http://wiki.csswg.org/test/css2.1/invalid Blocking testcases: http://wiki.csswg.org/test/css2.1/blocking regards, Gérard CSS 2.1 testcases on chapter 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside': http://test.csswg.org/suites/css2.1/latest/html4/chapter-13.html#s13.3.1 The link will be redirected to latest stable version of CSS 2.1 test suite. --------------- Test results for allowed-page-breaks-* testcases: http://www.gtalbot.org/BrowserBugsSection/Konqueror4Bugs/Konq-IR-CSS21TestSuite-03.html Test results for forced-page-breaks-* testcases: http://www.gtalbot.org/BrowserBugsSection/Konqueror4Bugs/Konq-IR-CSS21TestSuite-57.html Test results for page-break-[after|before|inside|margins]-* testcases: http://www.gtalbot.org/BrowserBugsSection/Konqueror4Bugs/Konq-IR-CSS21TestSuite-79.html --------------- The meaning of page-break-[after|before]: always " Always force a page break before (after) the generated box." is NOT absolute, is NOT 100% ensured, guaranteed. User agents are allowed to suppress the generation of content-empty (blank) pages [1] despite and even if 'page-break-[after|before]: always' has been declared. This is actually mentioned in CSS3 Module: Paged Media, section 5.5 Forced page breaks [2] but it is not currently mentioned in CSS 2.1, section 13.3.1 [3]. I have requested that this gets updated in the errata and this should get done eventually. [1] http://lists.w3.org/Archives/Public/public-css-testsuite/2010Oct/0324.html [2] CSS3 Module: Paged Media, section 5.5 Forced page breaks http://www.w3.org/TR/css3-page/#forced-pg-brk [3] CSS 2.1, section 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside' http://www.w3.org/TR/CSS21/page.html#page-break-props regards, Gérard |