- From: Roger Hågensen <rescator@emsai.net>
- Date: Mon, 31 May 2010 11:51:14 +0200
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/
Received on Monday, 31 May 2010 02:51:14 UTC