- From: Wolfgang Rieger <rieger@bse.de>
- Date: Fri, 26 Apr 1996 16:11:32 +0200
- To: "Chris Wilson (PSD)" <cwilso@microsoft.com>
- Cc: www-style@w3.org
On Thu, 25 Apr 1996 18:16:00 +0200, you wrote:
>Scott Preece wrote:
>>Perhaps I'm missing something - why can't you do the same thing in
>>either case? That is, if you have weights on individual properties
>>within a rule, you can split the rule into multiple rules, one
>>containing the
>>unweighted properties and one containing the rules with a given weight.
>>The separated rules could then be treated as you suggest.
>
>You definitely can do this - in fact, it is probably the easiest and
>best way to implement per-rule weighting.
Yes. That's the solution I found meanwhile, too. When building the
rule structure I use two declaration lists: one for declarations with
priority and one for declarations without priority.
>>
>>Frankly, it seems to me we should allow the weight to be put in both
>>places, which gives the author maximum flexibility at the cost of a
>>small additional amount of work in parsing. That's why we build tools
>>-
>>to make life easier for tool users.
This would be maximum flexibility, indeed. But will it be needed? I
still advocate one priority spec per rule.
>
>Unfortunately, it's not just a small additional amount of work in
>parsing - it can make the cascade considerably less efficient. Consider
>this:
>
>H1 {
> font-size: 12pt;
> font-weight: bold !important;
> text-align: left;
> text-decoration: underline !important;
> font-family: Arial
>}
>
>This will get split into five declarations, unless you do some resolving
>of rules with identical selectors, or keep up to three copies of a
>grouping at the same time during parsing (for important, legal and
>normal), either of which is not necessarily just a small amount of work.
No. It is split into two declaration lists:
{
font-size: 12pt;
text-align: left;
font-family: Arial
}
and
{
font-weight: bold !important;
text-decoration: underline !important;
}
> It also confuses the issue of parsing even a bit more to have the
>"!important" token at the end of the value - it would have been much
>easier to parse had these attributes been set at the beginning of each
>declaration, e.g.
> !important font-weight: bold;
>
I would expect a !important spec rather at the beginning, too.
At least one is used to things like:
IMPORTANT: Before opening case disconnect power cord.
rather than
Before opening case disconnect power cord. IMPORTANT!
But for the parser implementation it's the same.
>However, I personally am intensely in favor of per-group-only
>declarations, e.g. (for the style above):
>H1 !important {
> font-weight: bold;
> text-decoration: underline }
>H1 {
> font-size: 12pt;
> text-align: left;
> font-family: Arial }
>
>One of the goals of CSS is, I believe, to keep the cost of an initial
>implementation low; I think it's wasteful to add this very small
>convenience that probably won't be used much anyway, when the
>implementation cost is non-trivial.
I agree.
Regards
Wolfgang
Buero fuer Software-Entwicklung Email: rieger@bse.de
WWW : http://www.bse.de/
Rosenheimer Str. 214 Phone: +49 89 497738
81669 Munich, Germany Fax : +49 89 497738
Received on Friday, 26 April 1996 10:09:18 UTC