- From: Håkon Wium Lie <howcome@opera.com>
- Date: Wed, 22 Jul 2009 12:41:02 +0200
- To: www-style@w3.org
- Cc: fantasai <fantasai.lists@inkedblade.net>, Zack Weinberg <zweinberg@mozilla.com>, Maciej Stachowiak <mjs@apple.com>
Maciej Stachowiak wrote:
> I think authors are more likely to want to achieve and preserve a
> "rounded rectangle" shape with circle-arc corners, and have that
> maintained independent of resizing, than to want to achieve an
> elliptical shape and have that maintained independent of resizing. If
> the latter use case is actually important, then it may deserve some
> special syntax, such as percentage units for border-radius.
Yes, I think the use case is important. And it would fall out
naturally from % units, when introduced on 'border-radius'. In fact, I
discovered that this already works in Opera's implementation (which
isn't publically available yet). Test case and screen shot are here:
http://people.opera.com/howcome/2009/tests/border-radius9.html
http://people.opera.com/howcome/2009/tests/border-radius9.png
Zack Weinberg wrote:
> As of FF3.5, Mozilla still does support percentages in border-radius,
> but the percentages are always interpreted relative to the outer
> *width* of the border box, even for the vertical semi-axis of an
> ellipse. This is so we can continue to get circular arcs for
> "border-radius: 10%" without messing with the defaulting rules.
>
> I'd be happy to change that at least somewhat, but I think
> "border-radius: 10%" needs to keep doing quarter circles.
So, you'd like for percentage values to always refer to the width?
This, alas, seems incompatible with the request for ellipsis.
I can see four possible solutions:
1) We introduce % units and specify that percentages refer to width
/or/ height. This makes 'border-radius: 50%' become an ellipsis.
The syntax seems natural, but percentage units would not guarantee
shape.
2) We introduce % units, but only 'border-radius: 50%' gives you an
ellipsis. 'border-radius: 49%' would not.
This is probably not a good solution, as roundoff errors could
create interoperability issues.
3) We introduce a keyword, e.g., 'border-radius: ellipse'.
4) We allow the '/' in the syntax to act as a switch:
border-radius: 50%; /* refers to width of element */
border-radius: 50% / 50%; /* refers to width/height of element */
This is probably overloading the '/' notation.
My preference is for 1. There are other ways to guarantee shape (use
pixels, ems etc). But, it seems that Mozilla would have to change.
3 would also work.
Cheers,
-h&kon
Håkon Wium Lie CTO °þe®ª
howcome@opera.com http://people.opera.com/howcome
Received on Wednesday, 22 July 2009 10:42:02 UTC