Css 悬停时的闪烁问题:因为变换

Css 悬停时的闪烁问题:因为变换,css,hover,transform,Css,Hover,Transform,:在覆盖完整的.box之前,使用位置:绝对,以便可以单击完整的box。如果我将鼠标悬停在.box中的任何位置,a应该会被悬停。如果删除了变换,则此操作正常。链接具有变换:缩放(1.2)打开的:悬停。这使它闪烁 如果删除了变换。一切正常。这个问题存在于chrome和firefox中 .box{ 高度:400px; 边框:1px实心#ccc; 填充:30px; 宽度:30%; 位置:相对位置; } .方框a{ 显示:块; 边框:1px实心#ccc; 填充:20px; } .方框a:之前{ 内容:“

:在
覆盖完整的
.box之前,使用
位置:绝对
,以便可以单击完整的box。如果我将鼠标悬停在
.box
中的任何位置,
a
应该会被悬停。如果删除了
变换
,则此操作正常。链接具有
变换:缩放(1.2)
打开的
:悬停
。这使它闪烁

如果删除了
变换
。一切正常。这个问题存在于chrome和firefox中

.box{
高度:400px;
边框:1px实心#ccc;
填充:30px;
宽度:30%;
位置:相对位置;
}
.方框a{
显示:块;
边框:1px实心#ccc;
填充:20px;
}
.方框a:之前{
内容:“;
显示:块;
位置:绝对位置;
排名:0;
左:0;
底部:0;
右:0;
}
.方框a:悬停{
背景:红色;
转换:比例(1.2);
}

测试

这个问题很棘手,我不确定是否有答案,但我们可以一起调查

我们可以做的第一件事是给伪元素一个背景色,这样我们就可以可视化正在发生的事情。我们也把它移到一边,因为颜色会覆盖一切

.box{
高度:400px;
边框:1px实心#ccc;
填充:30px;
宽度:30%;
位置:相对位置;
}
.方框a{
显示:块;
边框:1px实心#ccc;
填充:20px;
}
.方框a:之前{
内容:“;
显示:块;
位置:绝对位置;
排名:0;
左:400px;
底部:0;
右:0;
背景:红色;
宽度:100px;
}
.方框a:悬停{
背景:红色;
转换:比例(1.2);
}

测试

我无法找到此问题的原因。然而,他们能够用不同的方式来解决这个问题

添加了
:after
,大小与
a
相同,并为after提供了悬停操作

.box{
高度:400px;
边框:1px实心#ccc;
填充:30px;
宽度:30%;
位置:相对位置;
}
.方框a{
显示:块;
文本对齐:居中;
线高:20px;
过渡:字体大小0.5s;
文字装饰:无;
颜色:透明;
}
.方框a:之前{
内容:“;
显示:块;
位置:绝对位置;
排名:0;
左:0;
底部:0;
右:0;
}
盒子a:之后{
内容:attr(title);
显示:块;
边框:1px实心#ccc;
填充:20px;
颜色:#666;
转变:转变0.5s;
}
.框a:悬停:在{
转换:比例(1.2);
背景:红色;
}

测试
我无法按包装.box,因为我有其他使用相同布局的主题。我的最后一个选项是对当前主题使用JS进行操作。谢谢你抽出时间。