W3C home > Mailing lists > Public > www-style@w3.org > January 2018

Re: !important: css versioning, and a semantic shift

From: Florian Rivoal <florian@rivoal.net>
Date: Tue, 16 Jan 2018 09:29:35 +0900
Cc: www-style@w3.org
Message-Id: <7B89026F-67FF-4F31-8BCE-9D54E98977D3@rivoal.net>
To: Dennis Heuer <einz@verschwendbare-verweise.seinswende.de>


> On Jan 15, 2018, at 22:55, Dennis Heuer <einz@verschwendbare-verweise.seinswende.de> wrote:
> 
> Hello,
> 
> I read a lot of fatalistic comments the last days and wonder if you ever
> recon'ed that you are at github, a platform for concurrent versioning. I
> don't know what you try to reach but 20 years of css also means that
> there was enough time lost to be allowed to do a cleanup. My proposal
> is to 'invent' a rule like:
> 
> @css: 3;
> 
> to make a cut and release you from your should-we-leave-that mentality.
> 
> Any page not including this rule is interpreted following css21, and
> everyone's fine :) No zillion broken websites and what I had to read
> already!

Things along this line have been suggested and considered multiple times
over the years, but ultimately rejected, as that would not work.

Any page without "@css: 3;" will be interpreted as css21. But initially,
so will any page that has "@css: 3", because browsers that don't know
about it (currently all of them) will just drop this line, an render the page
as usual, and so even browsers who would want to use special css3
semantics would have to render it using css21 rules, otherwise the 
pages would work differently in different browsers, which would be
terrible.

We could instead have @css3 { ...put your stylesheet here... }, as that
would be ignored by old browsers, but even then every (new) browser
would have to support both the old way and the new way forever, which
is quite costly. For authors, it would be costly as well, as they would
have to write their stylesheet twice: once using @css3{} for new browsers
and once without it for old ones.

Even though everybody recognizes that some decisions made in the past
are not ideal (see here[1] for example), and that this causes some pain,
the pain is not nearly enough to justify making everybody do twice the work.

For all its quirks, the fact that new web pages can work in old browsers (with some
graceful degradation) and old web pages work in new browsers is a huge strength
of the web, even if it does have the downside that we have to live
with the mistakes of the past.

—Florian

[1] https://wiki.csswg.org/ideas/mistakes
Received on Tuesday, 16 January 2018 00:30:05 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:53:05 UTC