Closed
Bug 969
Opened 26 years ago
Closed 26 years ago
[BLOCK] min-width, max-width and min/max-height properties buggy
Categories
(Core :: Layout, defect, P2)
Tracking
()
VERIFIED
FIXED
M6
People
(Reporter: angus, Assigned: buster)
References
()
Details
This is a requirement to do better contraints stuff in HTML. buster said it
would be straightforward to hook this up for TD's; I'm filing on Kipp since
there would be additional work involved to hook it up to all elements (DIVs,
etc.)
It grew out of a post I made to mozilla-layout, and David's reply:
"L. David Baron" wrote:
>From: angus@netscape.com (Angus Davis)
>I need to be able to do something like:
>
><td style="width: 100%; minimum-width: 100px;">
>
>Thoughts? Is there some other way to accomplish this? (CSS geeks - speak
>up!)
>-angus
This is part of the CSS2 spec, except the properties are called
"min-width" and "max-width". It is described in detail in
http://www.w3.org/TR/REC-CSS2/visudet.html#min-max-widths
(That whole part of the spec is probably worth reading, as it has
describes quite thoroughly how to handle some rather difficult
situations.)
- David Baron
Updated•26 years ago
|
Assignee: kipp → peterl
Updated•26 years ago
|
Component: Layout → Style System
Comment 1•26 years ago
|
||
I'm taking this bug until I get these properties hooked up to the style context.
Then I'll give it back :-)
Updated•26 years ago
|
Status: NEW → ASSIGNED
Updated•26 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Updated•26 years ago
|
Status: RESOLVED → REOPENED
Updated•26 years ago
|
Resolution: FIXED → ---
Updated•26 years ago
|
Assignee: peterl → kipp
Status: REOPENED → NEW
Status: NEW → RESOLVED
Closed: 26 years ago → 26 years ago
Resolution: --- → FIXED
Updated•26 years ago
|
Summary: min-width, max-width properties not implemented → min-width, max-width and min/max-height properties buggy
Comment 2•26 years ago
|
||
These have been implemented, but they're buggy. I'm changing the title
appropriately.
First, you're not handling the min/max conflict resolution as described in
http://www.w3.org/TR/REC-CSS2/visudet.html (CSS2, section 10.4 and 10.7)
If the computed value of 'min-width' is greater than the value of 'max-
width', 'max-width' is set to the value of 'min-width'.
(you're doing it backwards)
Second, if max-width is greater than width, you're setting width to max-width.
Same for min-width. (That is, you're enforcing the constraint as if it were
on both sides!!!)
The bugs for max/min-height are exactly the same.
See test cases:
width: http://www.fas.harvard.edu/~dbaron/csstest/sec1004.html
height: http://www.fas.harvard.edu/~dbaron/csstest/sec1007.html
To say that they're implemented but buggy is giving us way more credit
than we deserve. Layout hasn't been changed yet to support these properties. :-)
Comment 5•26 years ago
|
||
per leger, assigning QA contacts to all open bugs without QA contacts according
to list at http://bugzilla.mozilla.org/describecomponents.cgi?product=Browser
Comment 6•26 years ago
|
||
troy - I'm not sure what you mean. They are reflected in layout, at least on
my system (as I describe above).
What I mean is that Peter is processing the information, and it's included in
the nsStylePosition information. But the frame class code (in particular the
nsHTMLReflowState code) isn't using that information when calculating the
computed width/height yet
Comment 8•26 years ago
|
||
Bug #3504 will be cleared up (hopefully) when this gets fixed. Don't want to mark
it as a dup because I want to keep it as a placeholder/reminder.
Adding myself to the cc list.
Updated•26 years ago
|
Summary: min-width, max-width and min/max-height properties buggy → [BLOCK] min-width, max-width and min/max-height properties buggy
Comment 9•26 years ago
|
||
Marking blocked because it blocks M4 tasks.
Comment 10•26 years ago
|
||
Kipp, the HTML reflow state code has been changed to calculate the computed
values for the min/max properties, and apply them when it can
David Baron's "width" test works, and there's only one problem with the "height"
test (the URL above). That's the case where the block-level element has
'height:auto' and a 'min-height' value. Because the height is shrink-wrap, we
can't apply the 'min-height' constraint until _after_ we do the reflow
Updated•26 years ago
|
QA Contact: 4144 → 4110
Status: ASSIGNED → RESOLVED
Closed: 26 years ago → 26 years ago
Resolution: --- → FIXED
Comment 11•26 years ago
|
||
I've fixed the block element code to honor these properties now; david barons
(simple) css tests for min-width/max-width and min-height/max-height pass now.
If there are bugs with specific elements not honoring the properties, please
either re-open this bug and reassign it to the elements owners (e.g. form
elements are chris karnazes; images are mine, everything else is troys... :-)
or create a new bug per element that has problems (better IMHO)
Comment 12•26 years ago
|
||
I'm now unblocked wrt toolbars, and my own bug related to this, 3504, has been
closed because it works as far as i can tell. Thanks Kipp!!
Updated•26 years ago
|
Status: RESOLVED → VERIFIED
Comment 13•26 years ago
|
||
Using 3/29 build on Win 95, Win 98, Win NT, Mac8.5 and Linux, verifying bug
fixed.
Updated•21 years ago
|
Comment 14•19 years ago
|
||
Sorry, guys, but when using external stylesheets, min/max-width tag is ignored
for table.[class] {}. Using Fx in WinXP, no SP: Mozilla/5.0 (Windows; U;
Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3. I recommend you
change the status to REOPENED.
You need to log in
before you can comment on or make changes to this bug.
Description
•