- From: Quentin Albert via GitHub <noreply@w3.org>
- Date: Thu, 05 Jun 2025 21:15:50 +0000
- To: public-css-archive@w3.org
This in some cases would indeed make a difference.
E.g. 2 years ago, when experimenting with Cascade Layers I came up with the idea of the Style Lock / Styling API for Components, what is basically does is it prohibts setting any other property to an element besides the ones allowed.
With that I always need a fallback layer as very first layer to make sure that it doesn't fallback to the UA styles.
```css
// If no value on any layer is found this includes the fallback values
@layer
fallbacks,
organisms,
molecules,
atoms;
@layer fallbacks {
.button {
// These are the fallback value in case there needs to be a default for an API
border: 4px solid blue;
}
}
@layer atoms {
.button {
// Reset all styles to it's initial value
all: initial;
// Set own styles
font: inherit;
border-radius: 4px;
background: lavender;
padding-block: .5rem;
padding-inline: 1.5rem;
display: block;
// API - Tell what can be set from outside
border: revert-layer;
margin: revert-layer;
outline: revert-layer;
}
}
@layer molecules {
.molecule {
// As no unset is provided all unset inner APIs are exposed
// These can't be overwritten as they are reset / not part of the api
border-radius: 10px;
background: red;
width: 500px;
height: 100px;
// This can be overwritten as they are part of the api
margin: 20px;
border: 10px solid black;
}
}
@layer organisms {
.organism {
.button {
// This can be overwritten as they are part of the api
border: 10px solid red;
}
.molecule {
// This can't be overwritten as it is set on molecule and by that not exposed anymore
border: 10px solid green;
// This can be overwritten as they are part of the api and not set
outline: 5px solid yellow;
}
}
}
```
(https://codepen.io/Quentin_Albert/pen/raNJgxR). I mean this is just an experiment that isn't really pracitical, but I'm pretty sure there are more cases where it would make sense tho.
--
GitHub Notification of comment by Que-tin
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10416#issuecomment-2946299164 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 5 June 2025 21:15:51 UTC