Closed
Bug 597927
Opened 14 years ago
Closed 14 years ago
border-radius doesn't properly clip the corners of a child that scrolls
Categories
(Core :: Layout, defect)
Core
Layout
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
blocking2.0 | --- | - |
People
(Reporter: Unfocused, Unassigned)
References
Details
When an element has a border-radius, and has a child element that scrolls, the corners of that child element aren't clipped. Instead, the corners cover up the rounded part of its parent's border.
See bug 595656 and its screenshot (https://bugzilla.mozilla.org/attachment.cgi?id=474530) for an example of this.
Reporter | ||
Comment 1•14 years ago
|
||
Note: also happens when the child is a xul:browser element, ragardless of whether it has a scroll box or not.
Updated•14 years ago
|
blocking2.0: --- → ?
Comment 2•14 years ago
|
||
It's supposed to do this if the element with 'border-radius' has 'overflow'!='visible'. Does setting overflow:hidden fix this?
Updated•14 years ago
|
Version: unspecified → Trunk
Comment 3•14 years ago
|
||
Somewhere between worksforme and invalid, I think. (But please do respond if comment 2 doesn't fix it.)
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WORKSFORME
Comment 4•14 years ago
|
||
Setting overflow:hidden does not fix it. Could this be a problem because it is an XUL deck?
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Comment 5•14 years ago
|
||
Seems like the deck frame construction is SIMPLE_XUL_INT_CREATE rather than SCROLLABLE_XUL_INT_CREATE. Deck is pretty similar to stack, though, which is scrollable.
Does 'overflow: hidden' solve your problem if, in nsCSSFrameConstructor::FindXULDisplayData (in layout/base/nsCSSFrameConstructor.cpp), you change SIMPLE_XUL_INT_CREATE to SCROLLABLE_XUL_INT_CREATE for the line with NS_NewDeckFrame in it?
Comment 6•14 years ago
|
||
(In reply to comment #5)
> Seems like the deck frame construction is SIMPLE_XUL_INT_CREATE rather than
> SCROLLABLE_XUL_INT_CREATE. Deck is pretty similar to stack, though, which is
> scrollable.
>
> Does 'overflow: hidden' solve your problem if, in
> nsCSSFrameConstructor::FindXULDisplayData (in
> layout/base/nsCSSFrameConstructor.cpp), you change SIMPLE_XUL_INT_CREATE to
> SCROLLABLE_XUL_INT_CREATE for the line with NS_NewDeckFrame in it?
That does work (though it breaks the deck's operation). However you've clued me into an alternative solution. I can just wrap the deck in a <box> and put the borders on that which works because boxes are constructed with SCROLLABLE_XUL_INT_CREATE. So I don't think this is going to be necessary now.
Status: REOPENED → RESOLVED
blocking2.0: ? → -
Closed: 14 years ago → 14 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•