Re: [w3ctag/design-reviews] Other Spec Review: CSS navigation-based styling (Issue #1253)

noamr left a comment (w3ctag/design-reviews#1253)

> Thanks @noamr for posting this. I had some mostly surface-level comments/questions.
> 
> - Which aspects of the feature, if any, will function for cross-origin navigations? Is this intended to be a same-origin-only feature like view transitions or are there cross-origin use cases we should be thinking about?

This feature mirrors the navigation API, which fires events also for cross origin navs. 

So yes, cross origin navigation can affect styling.

A use case can be styling links to a particular origin or showing an exit animation if a cross origin navigation is initiated.

> - I think the non-react HTML example in https://github.com/WICG/declarative-partial-updates/blob/main/route-matching-explainer.md#framework-routers is missing have a `spinner` element matching `:active-navigation(to --home) + spinner { opacity: 100%; }` 

Thanks, will get that fixed!
> - Every instance of `@location` shown in the explainer has `base-url: document`. It'd be helpful to show a case where it's useful to set `base-url` to something else. If this is not common, maybe that should be a default rather than something that needs to be specified in every `@location` block.

Yes, there are ongoing discussions about how base URL should work.

> - In general more examples would be helpful, especially examples of how this will be used together with view transitions.
> - In https://github.com/WICG/declarative-partial-updates/blob/main/route-matching-explainer.md#url-matching, the code block has `from`, `to`, `between`, and `at`, but the explanation after has `with` instead of `between`. Which should be used here? The meaning of `between` seems self-explanatory but I'm not sure how `with` or `at` should be used even after reading the explanatory text a few times.

Right, for now we are not specing 'with'.
Cc @bramus for examples.

> - On https://github.com/WICG/declarative-partial-updates/blob/main/route-matching-explainer.md#navigation-type-matching, what's the difference between `@navigation (history: navigate) { ... }` and `@navigation (history: traverse) { ... }`? In the spec https://drafts.csswg.org/css-navigation-1/#typedef-navigation-type-keyword only has `traverse` so maybe `navigate` shouldn't be there?

It felt like push/replace is not so much a styling concern but it's debatable.

> - The explainer has some formatting issues for example in https://github.com/WICG/declarative-partial-updates/blob/main/route-matching-explainer.md#link-matching and a few other places where there are literal `###` which I think are meant to be subsection headers.
> - Is there a consistent way to define a `@location` rule that always matches "the current URL", outside of a navigation, without hardcoding any paths? That seems like it'd be useful e.g. in tandem with `a:link-to` so that any link that'd trigger a refresh is styled differently.

That could be a good keyword to have.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/1253#issuecomment-5866371167
You are receiving this because you are subscribed to this thread.

Message ID: <w3ctag/design-reviews/issues/1253/5866371167@github.com>

Received on Monday, 28 September 2026 08:33:46 UTC