- From: Tab Atkins Jr. via GitHub <noreply@w3.org>
- Date: Wed, 01 Oct 2025 17:03:22 +0000
- To: public-css-archive@w3.org
Whenever you have one property referring to another property, you introduce a dependency between those two properties. In your example, 'height' would start depending on 'line-height', for instance. If authors can add dependencies all on their own, then we have to start worrying about *cyclic* dependencies, like if the author then wrote `line-height: value(height);`. This is already an issue for custom properties and `var()`, for example. We have explicit spec text tracking these dependencies, and special behavior for when we detect a cycle (basically, blanking out the properties participating in the cycle). So, as long as it's just author-defined dependencies, it's no issue. The problem is that CSS grows new *implicit* dependencies occasionally, where one property starts depending on another property because of us adding some new functionality. If an author has already written a page with non-cyclic references which works perfectly fine, but we add a new implicit dependency that causes their page to suddenly have a cycle, that breaks the author's styling! That's a compat issue that we'd like to avoid - it means that *any* new implicit dependencies we want to add might end up being reverted due to web-compat issues. So, we don't allow arbitrary references between properties. The `inherit()` proposal in #2864 avoids this issue because it's always referring to the parent element, so there's no way to force a cycle. -- GitHub Notification of comment by tabatkins Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/12882#issuecomment-3357305468 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 1 October 2025 17:03:23 UTC