Closed
Bug 1161752
Opened 10 years ago
Closed 10 years ago
Overconstrained values in 'direction: rtl' must ignore and solve for 'left'
Categories
(Core :: Layout: Positioned, defect)
Core
Layout: Positioned
Tracking
()
RESOLVED
DUPLICATE
of bug 817406
Tracking | Status | |
---|---|---|
firefox40 | --- | affected |
People
(Reporter: bugzilla, Unassigned)
References
()
Details
(Keywords: testcase, Whiteboard: DUPEME [CSS2.1, §10.3.7])
Test
----
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/abs-pos-non-replaced-icb-overconstrain-001.xht
with the embedded file
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/embedded-doc-abs-pos-non-replaced-icb-overconstrain-001.html
Expected result
---------------
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/abs-pos-non-replaced-icb-overconstrain-001-ref.xht
Explanation
-----------
"
The 'direction' property of the initial containing block is the same as for the root element.
"
10.1 Definition of "containing block"
http://www.w3.org/TR/CSS21/visudet.html#containing-block-details
"
If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
"
10.3.7 Absolutely positioned, non-replaced elements
http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
20% : left
+
0px : margin-left
+
0px : border-left-width
+
0px : padding-left
+
20% : width
+
0px : padding-right
+
0px : border-right-width
+
0px : margin-right
+
20% : right
====================
100% : width of containing block (width of ICB)
Notes
-----
- There are at least a few (many?) other overconstrained situations not covered by CSS 2.1 test suite which could be found to be incorrectly implemented. The CSS 2.1 test suite does not systematically and methodically test every possible overconstrained situations.
- Chrome 42.0.2311.135, Chrome 44.0.2383.0 and IE11 pass this test.
- Firefox 37.0.2 and Firefox 40.0a1 buildID=20150430100104 fail this test.
- I use Linux 3.13.0-51-generic x86_64, Qt: 4.8.6, KDE 4.13.3; Kubuntu (trusty) 14.04.02
- I've searched for duplicates and did not find any.
Reporter | ||
Comment 1•10 years ago
|
||
I intend to submit this test to the CSS2.1 test suite.
Updated•10 years ago
|
Whiteboard: [CSS2.1, §10.3.7] → DUPEME [CSS2.1, §10.3.7]
Comment 2•10 years ago
|
||
The layout code that handles this overconstrained situation is correct.
It's just that the style data is wrong. It says the ICB 'direction'
is LTR so we solve for 'right'. That's bug 817406, IIUC.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
Comment 3•10 years ago
|
||
Gérard, do you have a similar test that uses position:fixed?
I'm asking because those take a different code path in Print Preview,
so it would be good to test that too before landing bug 817406.
Flags: needinfo?(bugzilla)
Reporter | ||
Comment 4•10 years ago
|
||
Mats: no, I do not have a similar test that uses position: fixed.
I am adding this task into my to-do-list; I'll get back to you when such tests are created.
Flags: needinfo?(bugzilla)
Reporter | ||
Comment 5•10 years ago
|
||
> Gérard, do you have a similar test that uses position:fixed?
Is that test okay, suitable for you?
Test
----
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/fixed-pos-non-replaced-icb-overconstrain-001.xht
with the embedded file
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/embedded-doc-fixed-pos-non-replaced-icb-overconstrain-001.html
Expected result
---------------
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/abs-pos-non-replaced-icb-overconstrain-001-ref.xht
Reporter | ||
Comment 6•10 years ago
|
||
Here a single-file test (with 'position: fixed'), with proportional values only so that it will work regardless of width of viewport:
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/fixed-pos-non-replaced-icb-overconstrain-009.xht
although this test is CSS3 compliant but not CSS2.1 compliant.
I have printed it with Firefox 37.0.2 and the test failed when printed.
IE11 and Chrome 42.0.2311.152 pass the test when viewing on screen. I think the test failed when trying to print the test in Chrome 42.0.2311.152. I have not tried to print the test with IE11.
Hope this test helps you.
Gérard
You need to log in
before you can comment on or make changes to this bug.
Description
•