【发布时间】:2018-08-09 06:33:53
【问题描述】:
当我将鼠标悬停在一个元素的容器上时,我希望该元素通过 css/scss 接收视觉变化。
要求: - 需要在子组件或 sass 文件中发生。无法了解父子关系。 - sass css 或角度组件内
我已经尝试过 Angular 的主机监听器装饰器,但这只是主机元素而不是它的父元素。
我尝试过 :host 和 :host-context 选择器,但与主机侦听器有类似的经验。
任何建议将不胜感激。
编辑:为了形象化,我可以在一个大正方形元素中放置一个小正方形元素,然后当小正方形元素与大正方形元素的区域不重叠的空间悬停时,小正方形接收一个样式。
澄清:
【问题讨论】:
-
子元素(示例中的小方块)是 Angular 组件还是只是 HTML 元素?
-
@ConnorsFan 子元素是一个角度组件。
-
为此,仅使用 CSS,您需要在 较大的正方形 内添加 2 个元素,一个填充较大的正方形,获得悬停规则,而较小的正方形。这里的主要关键是小方块不能是具有悬停规则的那个的孩子。
-
这是一个修改后的版本,可以更好地表达我的意思:jsfiddle.net/6egc7f21/1 ...正如您所见,悬停与容器无关
-
也许这两个堆栈闪电中的一个可以满足您的要求:stackblitz1、stackblitz2。我是用事件监听器来做的,因为你想控制来自孩子的一切,而且 CSS 中没有“父”选择器。