- From: Daniël Pelsmaeker <daniel.pelsmaeker@zonnet.nl>
- Date: Fri, 17 Sep 2004 17:09:11 +0200
- To: <www-style@w3.org>
- Cc: "'Benjamin D. Smedberg'" <bsmedberg@covad.net>
Benjamin D. Smedberg wrote: > You can specify a bare property name or a property:value. > > @supported [ opacity; position: fixed; ] { #myel { color: red; } } > > so #myel would only be red if the UA supports the "opacity" property > *and* the "fixed" value for the "position" property. > > --BDS It almost looks like a 'feature selector'. And it doesn't specify a way to determine whether a CSS3 module is implemented or a CSS2 specification part. I certainly like the idea, but I would go for specifying the modules and specifications that are required for the rule blocks instead. For example: @supported [ CSS3-Color; ] { #myel { color: blue; } } The introduction draft states that "Once a module has been chosen, all of its features must be supported.". So when I specify that my rules should only applied when the UA supports the CSS3 Color module, then that is the way it should be. Not by using endless if-conditions on determining whether a particular feature of the specification/module has been implemented (such as opacity). When the @supported rule is understood by the UA, but the conditions are not understood, then the complete ruleblock must be ignored. And when, for example, Microsoft knows that it hasn't completely implemented the CSS3 Color module, then it must ignore this ruleblock. This also encourages developers to implement the full module spec, and not only parts of it. - Daniël Pelsmaeker
Received on Friday, 17 September 2004 15:09:59 UTC