- From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
- Date: Tue, 13 Apr 2021 00:14:13 +0000
- To: public-css-archive@w3.org
If I'm understanding your example correctly, it seems like that works the way you'd want, right?
That is, I'm assuming a markup structure like:
```html
<pfe-layout>
<::shadow>
<style>
:host { background-color: #eee; }
</style>
<pfe-type>
<::shadow>
<style>
:host {
color: color-contrast( inherit(background-color), white, gray, black );
}
</style>
</::shadow>
</pfe-type>
</::shadow>
</pfe-layout>
```
So by default, `pfe-layout` has a light gray background, and `pfe-type` sets its text color to contrast against that (choosing black).
Then if the outer page sets `pfe-layout { background-color: #252527; }`, giving `pfe-layout` a dark gray background, `pfe-type` will still set its text color to contrast against that (choosing white).
Is there a detail I'm missing that makes this not work?
--------
Edited before posting!
Ah, I think I see, you're saying that if `pfe-type` is *not* a direct child of `pfe-layout`, then it couldn't use the code you gave to directly grab 'background-color', and instead `pfe-layout` would have to set a custom property which then inherits down to `pfe-type`. And `pfe-layout` would have to document that users should set the background color with `--pfe-layout-bg` or something, right?
This shouldn't be necessary with @andruud's technique. If you have a wrapper element inside of `pfe-layout`'s shadow, then you can set `--bg-color: parent(background-color);` to grab the background-color from `pfe-layout`, and then all descendants can just refer to that property. Since `parent()` is evaluated at the same time as `var()`, this will correctly grab the color from `pfe-layout` (rather than inheriting, unevaluated, to descendants, and then grabbing some random parent's value when it's actually used).
--
GitHub Notification of comment by tabatkins
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2864#issuecomment-818324090 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 13 April 2021 00:14:15 UTC