巧用scss解决移动端浏览器点击链接后残留hover效果

本文介绍了一种使用SCSS Mixin解决移动端浏览器中hover状态残留问题的方法,并保持了active效果。此外,还提供了一个简单的解决方案来使iPhone Safari支持a标签的active伪类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

移动端浏览器点击链接后有很讨厌的残留hover效果

参见 Fixing Sticky Hover on Mobile Devices

但是上面这文章有一个问题,就是我还想要有按下的效果,只是点完之后别残留hover的效果。也就是我需要去掉hover,保留active。另外上面的文章不太能解决我用vue组件动态加载css的问题。

其实,通过scss的mixin可以很简单的搞定这个问题

比如:

@mixin hover($hover) {
    .page{
        a:#{$hover},a:focus{
            color:#fe3;
        }
    }
}
@media (hover: hover) {
    @include hover(hover);
}
@media (hover: none) {
    @include hover(active);
}
复制代码

使iPhone safari支持a标签的active伪类 http://t.cn/R3XKE7d

只需给body绑定一个匿名空函数touchstart事件就可以正常使用active事件了,美团H5就这么做的:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值