一种鼠标划过文字放大的CSS特效 而引发的疑惑

本文探讨了一种通过CSS实现鼠标悬停文字放大的效果,比较了使用transform和直接改变文字大小两种方法的性能差异。在使用transform时观察到的卡顿现象,经研究发现与文字阴影有关,移除文字阴影后卡顿减轻。同时,浏览器窗口越大,卡顿越明显,但具体原因尚不清楚。
摘要由CSDN通过智能技术生成

先上效果图,有两种,

在这里插入图片描述这种是使用transform来改变大小缩放

在这里插入图片描述这种是改变文字大小来缩放,会引起排版变化

在使用transform时,能明显感到比使用改变文字大小时更卡顿,并且浏览器的窗口越大,卡顿越明显。
当时我心中就很疑惑,单就从我之前学到的浏览器的渲染机制上来说,改变文字大小是会触发回流的,使用transform时不会触发回流,为什么使用transform会更卡呢?另外网页内没有什么其他内容,回流引起的卡顿应该不大。

经过我的研究(瞎猜),原来是我添加了文字阴影,当我去掉文字阴影时,明显就不卡顿了。

使用改变文字大小的方式时,不会影响到文字阴影的动画。

然而使用transform时,改变的是整个span的大小,同时也就会影响到文字阴影的大小,浏览器需要处理更多的计算量。另外如果在animation里同时把文字放大的话,会加倍放大。

源码如下

   <style>
    body {
   
      padding: 0;
      margin: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100vw;
      height: 100vh;
      background-color: #3498db;
    }

    body
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值