- From: Christoph Päper <christoph.paeper@tu-clausthal.de>
- Date: Fri, 08 Jul 2005 06:24:48 +0200
- To: www-style@w3.org
Dear CSS WG, I know it is pretty much too late and I have asked this before¹---for I am really not happy about this part of the specification at all---, but what is the rationale for not allowing percentage values for 'alpha'? After all the current allowed value range of 0.0--1.0, which was for some reason blindly inherited from SVG and there from unquestioned graphic designer tradition, is just a percentage value in disguise. Is the sole reason that this percentage value would not refer to some value of the parent? Furthermore, is it really wise to not use 'deg'---a unit already introduced in CSS 2.0, although only used with later removed aural properties there---in a value that is indeed an angle, namely the _h_ue in 'hsl()' and 'hsla()'? At least /allow/ the unit! Maybe the pseudo-functions for color calculation ('rgb()', 'rgba()', 'hsl()' and 'hsla()') could be thought over once again, in a way that allows *any* of their parameters to be *any* of these: - angular: · degree: 'deg' ("100%" = "360deg"), · gon/grad: 'grad' ("100%" = "400grad"), · radian: 'rad' ("100%" ~= "6.283rad"); - percentage ('%'); - integer (0--255 = 2^{0}-1--2^{8}-1) and, perhaps, just for compatibility with implementations of the current draft - float (0.0--1.0). Round-tripping (for angles) and clipping (for the rest) as usual. AFAIK some (CSS 2.1) imlementations are already pretty docile on mixes of percentages and integers in 'rgb()'. Of course nobody is using angular "green" values (AFAIK), but the conversion is simple and one certainly could make up a visual model, in which a color is representated by three angular values for red, green and blue (or hue, saturation, luminance). There also seems to be little reason not to allow alpha values in the short and long hexadecimal format, they would just have to gain a digit: #0000--#FFFF and #00000000--#FFFFFFFF. After all, from my experience, this is the most popular form for specifying colors out there in stylesheets. I will not go as far as suggesting, that something like "rgb(#0, #F, #0F)" (= "#00FF0F" = "rgb(0, 255, 15)") should be allowed. Anyone could pick his preferred style out of these (keeping backwards compatibility in mind, if desired, in the case of 'rgb()') and it is coherent with CSS's practice of appending any number, safe zero, with a unit (let us ignore 'line-height' for a moment, where no appropriate unit was available). The only (probably unresolvable) problems I see is with pioneering implementaions, which treat any unit-less hue as a degree, and alpha values of '1' as '1.0' = '255' ('0' == '0.0'). That you get from inconsistency, you cannot extend/correct later easily. Christoph Päper __________ ¹ Threads · [CSS21] response to issue 74 <http://lists.w3.org/Archives/Public/www-style/2004Feb/0117>, · [css3-colors] Comments on Last Call <http://lists.w3.org/Archives/Public/www-style/2003Feb/0066> with this unsatisfactory reply from Chris Lilly <http://lists.w3.org/Archives/Public/www-style/2003Apr/0113.html> that, it seems, I have never replied to.
Received on Friday, 8 July 2005 04:24:54 UTC