Skip to content

[css-cascade] Cascade layers need an import syntax #5681

Description

@mirisuzanne

This issue was raised on Cascade 5.

The current cascade-layers proposal offers several directions.

This also raises some question around ordering of @layer and @import rules. Currently:

  • Layering is determined by source-order of @layer rules
  • @import is required to come first in a document.

Using @layer

The most direct approach would be allowing a url() in place of a {…} code block in the @layer rule:

/* @layer <name>? url(https://github.com/<contents>) */
@layer reset url(https://github.com/reset.css);
@layer bootstrap url(https://github.com/bootstrap.css);

Using @import

It may also be possible to build on the existing @import syntax:

@import layer reset url(https://github.com/reset.css);
@import layer(reset) url(https://github.com/reset.css);

Other options?

Other proposals include creating a new at-rule, or allowing imports to be nested inside the block syntax:

/* new rule */
@layer-import reset url(https://github.com/reset.css);

/* nested imports */
@layer reset { 
  @import url(reset.css); 
}

/* etc… */

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions