- From: Laurens Holst <lholst@students.cs.uu.nl>
- Date: Mon, 04 Apr 2005 23:53:59 +0200
- To: www-style@w3.org
I think that it would be useful to be able to say ‘everything must be
!required’. Because if you have a certain portion on your page that you
only want to style in a certain way, you would want *everything* to be
work, or nothing, and writing down !required for *each and every
property* in a selector seems bothersome and bloated.
Because in practice, will an author not want every property in such a
‘requirement block’ to be supported? If not, I can see a situation
arising where page authors will often be singling the requirement down
on a single ‘advanced’ property (based on browser testing, likely), and
assume that the other properties they use just as much based on that
singled out one.
For example, would I develop a browser which supports opacity: but not
position: fixed, sites will try to use position: fixed based on the
support for opacity! I realise this is a slightly extreme example (or is
it? sounds like IE), but I think it illustrates my point. Maybe the
availability of text-shadow on browsers such as Safari which is in other
respects less advanced than Mozilla is a better example.
In this light, I think e.g. something to express that *all* properties
inside must be supported (instead of just one of them) might be a better
idea. An @-rule like @require-property-support {} sounds alright.
Problem with this is that if you want to use e.g. browser-specific CSS
to solve certain issues, it needs to be excluded from the group somehow.
Because such a single rule would make the block not be applied on all
other browsers as they do not support it, yet it would need to be part
of the group because it depends on the condition.
Take the following example, where I only want to use some CSS when it is
in border-box render model:
@require-all-properties {
div {
width: 100px;
padding: 10px;
}
div {
-mox-box-model: border-box;
box-model: border-box;
}
}
How would this work? !exclude? That seems kinda counter-intuitive -_-;;.
But note how you can’t express this with !required either, as the bottom
two properties have an OR relationship.
The more I think about it, the more difficult it becomes :). Maybe in
this light, the ‘require-all’ thing isn’t that much better, or at least
not trivial to do. But the objection against singling out certain
properties raised in my second paragraph remains.
~Grauw
--
Ushiko-san! Kimi wa doushite, Ushiko-san!!
Received on Monday, 4 April 2005 21:54:00 UTC