css 元素阻止其他元素的悬停效果

jogvjijk  于 2022-12-01  发布在  其他
关注(0)|答案(2)|浏览(138)

我有两个元素,一个圆形和一个正方形(2个不同的div)。正方形在圆形的上面,但是它阻挡了下面元素的悬停效果(例如,圆形变成蓝色)。对正方形应用悬停效果不起作用,因为悬停效果应用于圆形的每个部分。
在实际示例中(请参见第二个图像),您可以看到圆通过倾斜和旋转变换被分割。
我不想使用JavaScript,只想使用CSS和HTML。
I simplified the problem in this CodePen: codepen.io/tuurtie/pen/XWYPWEb.

这是实际结果的图像(红色是阻挡圆形悬停效果的部分):

我试过用两种方法都溢出,也试过在正方形上打个洞,但这仍然阻挡了悬停。我知道我很接近了!
我还为红色正方形本身添加了悬停效果,但是悬停效果不起作用(悬停效果应用于圆形的每个部分)。

khbbv19g

khbbv19g1#

正如@IT高盛所说,你可以使用pointer-events: none;
第一个

    • 但是,这将禁用您要应用于正方形的任何指针事件。**另一个解决方案可以使用一点JavaScript:

第一个
但是您 * 确实 * 指定了您不希望混合任何JS。我不认为有任何其他仅支持CSS的解决方案能够实现您想要的行为类型。

ryevplcw

ryevplcw2#

问题出在您的标记中。即使样式显示方形在圆形内,但标记在DOM中使它们彼此相邻。
我所做的是把正方形放在圆圈里面,并相应地用flex box来设计圆圈的样式,把正方形放在中间。
https://codepen.io/gezzasa/pen/xxzabEL
第一个

相关问题