[whatwg] CSS2 system colors in legacy color values
Roger Hågensen
rescator at emsai.net
Mon May 31 02:51:14 PDT 2010
On 2010-05-31 09:57, Roger Hågensen wrote:
> On 2010-05-23 23:49, Simon Pieters wrote:
>> On Sat, 22 May 2010 21:06:53 +0200, L. David Baron
>> <dbaron at dbaron.org> wrote:
>>> The "rules for parsing a legacy color value" in
>>> http://www.whatwg.org/specs/web-apps/current-work/complete/common-microsyntaxes.html#rules-for-parsing-a-legacy-color-value
>>>
>>> specify that CSS2 system colors should be accepted, and that they
>>> should be converted to a simple color.
>>> ...
>>> What was the motivation for adding support for CSS2 system colors
>> IE compat.
>>> (which I would note are deprecated in css3-color) to legacy HTML
>>> color values? What implementations support them,
>> I think WebKit and IE.
>>> and do they respond to dynamic changes properly?
>> I don't know.
>>
>> It appears that Opera and Gecko don't support system colors. I
>> wouldn't mind not supporting them, but it could be interesting to
>> research how many pages it affects.
>
> Interesting to know!
>
> I'm kinda surprised that there is no support for floating point colors
> though.
> Althought I guess that "rgb(x%, x%, x%) An RGB percentage value (e.g.
> rgb(100%,0%,0%))"
> is as close as you get to that... Does percentage rgb color support
> things like 85.41% though?
> I hope so as only rgb(x%, x%, x%) is tentatively gamut independent.
>
Just did some tests! It seems that the latest Firefox, Opera, IE, and
Chrome at least supports fractional percentages.
So rgb(0%,0%,80.00% equals 0,0,204
and rgb(0%,0%,80.99% equals 0,0,207
and rgb(0%,0%,80.50% equals 0,0,205
I wonder why the specs don't mention this support though,
and I guess that a value of 200% (what, like infared?) would mean twice
as red as SRGB red (100%),
and in the case of these browsers they clamp anything higher to 255.
PS! To any Chrome folks here, seems like Chrome has a slight rounding
"bug" compared to the other 3 browsers.
Example code:
<html>
<head>
<title>Percentage Fraction color test</title>
<style type="text/css">
li {
color: white;
background: rgb(0%,0%,80.00%);
margin: 12px 12px 12px 12px;
padding: 12px 0px 12px 12px;
list-style: none
}
li.fraction {
color: white;
background: rgb(0%,0%,80.50%);
margin: 12px 12px 12px 12px;
padding: 12px 0px 12px 12px;
list-style: none
}
</style>
<script>
function getStyle(el)
{
if (el.currentStyle)
{
return el.currentStyle.backgroundColor;
}
if (document.defaultView)
{
return document.defaultView.getComputedStyle(el,
'').getPropertyValue("background-color");
}
return "Don't know how to get color";
}
</script>
</head>
<body>
<ul>
<li id="blue1">This should be RGB 0,0,204 (#0000cc) and it is:
<script>document.write(getStyle(document.getElementById('blue1')));</script></li>
<li id="blue2" class="fraction">This should be RGB 0,0,205 (#0000cd) and
it is:
<script>document.write(getStyle(document.getElementById('blue2')))</script></li>
</ul>
</body>
</html>
--
Roger "Rescator" Hågensen.
Freelancer - http://EmSai.net/
More information about the whatwg
mailing list