Closed
Bug 294934
Opened 19 years ago
Closed 19 years ago
When making app layouts using CSS and DIVs, sometimes the sizes are miscalculated
Categories
(Core :: Layout: Positioned, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: marcel, Assigned: roc)
References
Details
(Keywords: regression, testcase)
Attachments
(5 files)
1.86 KB,
text/html
|
Details | |
512 bytes,
text/html
|
Details | |
846 bytes,
text/html
|
Details | |
378 bytes,
text/html
|
Details | |
1.61 KB,
patch
|
dbaron
:
review+
dbaron
:
superreview+
benjamin
:
approval1.8b4+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b2) Gecko/20050519 Firefox/1.0+ Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b2) Gecko/20050519 Firefox/1.0+ In the attached testcase a nested structure of DIVs is used to generate a multi column, multi row layout. The area that has a red border around it needs to be filled with it's content. The file displays correctly in Firefox 1.0 / Opera 8 / IE5+ Reproducible: Always Steps to Reproduce: 1. Load the attached file 2. The red area should be filled with two colored rectangular areas (but it doesn't) Actual Results: Described in the summary Expected Results: Described in the summary
Updated•19 years ago
|
Component: General → Layout
Keywords: testcase
Product: Firefox → Core
QA Contact: general → layout
Version: unspecified → Trunk
Comment 2•19 years ago
|
||
Minimal testcase of what I think is the cause of the problem here.
Comment 3•19 years ago
|
||
This regressed between 2005-03-21 and 2005-03-22. http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2005-03-21+05%3A00%3A00&maxdate=2005-03-22+10%3A00%3A00&cvsroot=%2Fcvsroot The only bug which seems likely to me what could have caused this is bug 282754. When I remove the overflow:scroll of the container frame in the testcase, the bug disappears.
Blocks: 282754
Status: UNCONFIRMED → NEW
Component: Layout → Layout: R & A Pos
Ever confirmed: true
QA Contact: layout → layout.r-and-a-pos
Updated•19 years ago
|
Keywords: regression
Assignee | ||
Comment 4•19 years ago
|
||
Isn't that behaviour correct for the overflow case? http://www.w3.org/TR/CSS21/visuren.html#position-props Note: For absolutely positioned elements whose containing block is based on a block-level element, this property is an offset from the padding edge of that element. If so, then we're actually incorrect for the normal case.
Comment 5•19 years ago
|
||
(In reply to comment #4) > Isn't that behaviour correct for the overflow case? Yes, seems like it. But then Opera8 and IE6 are doing it wrong (and Mozilla1.7). That might give problems. Also, current trunk builds do it still incorrectly for overflow:visible cases and top and left properties. You can see that with this example where the containing block has a padding of 20px;
Assignee | ||
Comment 6•19 years ago
|
||
dbaron, hixie --- having absolute positioning being relative to the padding-edge of a block container is obviously in the spec for a reason, but it seems major browsers don't do it that way. Can you confirm that it should be that way, will remain that way and we should change behaviour to suit?
Comment 7•19 years ago
|
||
The padding edge is the edge between the padding and the border. This is what the browsers I've tested do. Where's the problem?
Comment 8•19 years ago
|
||
Hello! I have bumped into this regression when I tested the 2005-07-11 nightly build of Firefox 1.0+. It's really improved and I like the many bug fixes. Yet, due to this regression my site no longer looks properly. I have attached a test case. As more test cases I see the more I believe it's a regression in the browser. I don't believe all the other browsers do this wrong. Here's why: 1. Look at the red box in this test case. It's badly positioned only on the right. On the top it's properly positioned even in Firefox 1.0+. 2. This bad rendering is only activated when overflow:hidden. If some developer would have wanted to correct a suposed bad implementation of absolutely positioned elements, then he would have made it work with top, bottom and left. Plus, he would have made it work with overflow: visible. It's probably just a regression caused by fixing or implementing something. http://www.w3.org/TR/CSS21/visuren.html#position-props "For absolutely positioned elements whose containing block is based on a block-level element, this property is an offset from the padding edge of that element." http://www.w3.org/TR/CSS21/visudet.html#containing-block-details "10.1 Definition of containing block The position and size of an element's box(es) are sometimes calculated relative to a certain rectangle, called the containing block of the element. The containing block of an element is defined as follows: [...] 4. If the element has 'position: absolute', the containing block is established by the nearest ancestor with a 'position' of 'absolute', 'relative' or 'fixed', in the following way: [...] 2. Otherwise, the containing block is formed by the padding edge of the ancestor." Reading these two quotes from the CSS 2.1 specification it almost made me believe Firefox 1.0+ nightly builds actually fixed something about absolutely positioned block-level elements. http://www.w3.org/TR/CSS21/box.html#padding-edge "The padding edge surrounds the box padding. If the padding has 0 width, the padding edge is the same as the content edge." Reading this ... I am not so sure :). So, you guys go ahead and please fix the regression.
Assignee | ||
Comment 9•19 years ago
|
||
(In reply to comment #7) > The padding edge is the edge between the padding and the border. This is what > the browsers I've tested do. Where's the problem? Ah oops. Sorry, my bad.
Assignee | ||
Comment 10•19 years ago
|
||
Really simple and obvious fix ... mComputedWidth/Height are the content width/height, we need to include padding.
Assignee: nobody → roc
Status: NEW → ASSIGNED
Attachment #189349 -
Flags: superreview?(dbaron)
Attachment #189349 -
Flags: review?(dbaron)
Attachment #189349 -
Flags: superreview?(dbaron)
Attachment #189349 -
Flags: superreview+
Attachment #189349 -
Flags: review?(dbaron)
Attachment #189349 -
Flags: review+
Assignee | ||
Comment 11•19 years ago
|
||
Comment on attachment 189349 [details] [diff] [review] fix Fixes standards-compliance, web-compatibility regression
Attachment #189349 -
Flags: approval1.8b4?
Comment 12•19 years ago
|
||
Comment on attachment 189349 [details] [diff] [review] fix Could we add an assert in this case that aLastRS has block-level display?
Assignee | ||
Comment 14•19 years ago
|
||
sure, OK
Assignee: nobody → roc
Updated•19 years ago
|
Attachment #189349 -
Flags: approval1.8b4? → approval1.8b4+
Assignee | ||
Comment 15•19 years ago
|
||
checked in
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•