【发布时间】:2021-08-09 01:01:50
【问题描述】:
CSS 的神奇之处在于它本质上是反应式的。它的活动监听真/假规则。那么如何获得 CSS 的响应性来更改 (cousins?) 子选择器?
这样的……
.loading-complete-message { 显示:无; } body .container .component01 .content-loaded /* 规则 */ { body .container .component02 .loading-complete-message /* 目标选择器 */ { 显示:块; /* 改变 */ } }当.component01 动态接收子选择器.content-loaded, 时,将.component02 子选择器.loading-complete-message 更改为display: block。
这只能用 CSS 实现吗?
有没有原生 JS 等价物?
Google 搜索似乎表明只有框架可以做到这一点......
必须有一个最小的、轻量级的、跨浏览器(不是 IE)的方式来做到这一点,而不需要使用一个包罗万象的单体框架,它的依赖关系、构建过程和数小时的加速时间只是为了启用这个单一的恕我直言,强大的功能。
任何帮助将不胜感激。
TIA!
【问题讨论】:
-
对于 JS 解决方案,您可以在 component01 的子项的类属性上放置一个 mutationObserver,如果观察到它现在包含内容加载的测试并为 .component02 .loading-complete-message 添加一个样式显示:阻止。 (孩子是直系后代吗?如果不是,则需要一些迭代)。
标签: javascript css css-selectors targeting