【问题标题】:Listening for child selector [duplicate]监听子选择器[重复]
【发布时间】: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


【解决方案1】:

不完全是,但如果您可以将 .content-loaded 类添加到 .component01 中,那么复合选择器和相邻选择器的组合应该会有所帮助

.component01.content-loaded + component02 .loading-complete-message {
    display: block;
}

【讨论】:

    猜你喜欢
    • 2013-04-01
    • 2012-03-16
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2012-04-13
    • 2010-09-08
    • 1970-01-01
    相关资源
    最近更新 更多