Re: [csswg-drafts] [css-cascade-5] Allow authors to explicitly place unlayered styles in the cascade layer order (#6323)

Okay, so initial wouldn't be a "layer", per se, just an indicator of whether a given (top-level?) layer is in the "before unlayered" or "after unlayered" lists.

I still don't think I'm a fan of this. It still presents what I consider a confusing situation, where the layers are *not* in order-of-appearance, but rather maintain two completely separate orders of appearance. I continue to question why we want to allow this, when multiple @layer statements aren't a great idea *anyway*, since they can't control their interweaving. It's a *good practice* to declare all your layers (the top-level ones, at least) in a single @layer statement. 

Like, I think this:

```css
/* each use of initial is scoped to that layer rule */
@layer reset, initial, utilities;
@layer defaults, initial, overrides;

/* the result maintains relations to initial */
@layer reset, defaults, initial, utilities, overrides;
```

is a *confusing* result, and (rightly!) not something that can be achieved relative to any other layer.

I still think it's best to go with with the simplest possible solution: `initial` is a layer name that refers to the unlayered styles, and is reserved to only be usable at the top level. Just like any other layer name, it takes its position from its *first* mention; if not mentioned, it goes first or last (I forget which way we've settled on). Anything else is adding functionality to the initial layer that no other layer has access to, nor do we *want* to give them access to, and I don't understand why the initial layer is special enough to need that.

(As I said in an earlier comment, we *could* still allow the initial layer to have nested layers like a normal layer, but we don't need to.)

-- 
GitHub Notification of comment by tabatkins
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/6323#issuecomment-944957956 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Saturday, 16 October 2021 17:13:49 UTC