

新闻资讯
技术学院图片hover阴影突变需添加transition: box-shadow 0.3s ease;并设初始box-shadow为透明值,参数结构须一致,配合transform微调及GPU加速可提升流畅度。
图片 hover 时阴影突变,是因为 box-shadow 默认没有过渡效果。只需给元素添加 transition 属性,就能让阴影变化平滑自然。
很多情况下阴影不流畅,是因为 transition 没有明确指定要过渡的属性,或写在了错误的选择器上。
transition: box-shadow 0.3s ease;,不能只写 transition: all 0.3s;(虽然能用,但性能差、行为不可控)
加在默认状态(非 hover)的图片上,而不是 hover 里box-shadow 值不能是 none,建议设为 box-shadow: 0 0 0 transparent;,否则部分浏览器会跳帧box-shadow 的四个值(offset-x offset-y blur-radius spread-radius color)必须一一对应,否则浏览器无法插值计算中间状态。
box-shadow: 0 2px 4px 0 rgba(0,0,0,0.1);box-shadow: 0 6px 12px 2px rgba(0,0,0,0.15);
none → 有值,或改变参数个数(如漏掉 spread-radius),会导致“闪一下”再过渡单靠阴影略显单调,叠加轻微上移 + 阴影加深,更符合物理直觉。
transform: translateY(0); box-shadow: 0 2px 6px 0 rgba(0,0,0,0.08);
transform: translateY(-4px); box-shadow: 0 8px 16px -2px rgba(0,0,0,0.16);
transition: transform 0.3s ease, box-shadow 0.3s ease;
老版本 Safari 或低配设备可能对 box-shadow 过渡卡顿。
will-change: transform;(仅 hover 前触发,慎用)transform: translateZ(0); 或 backface-visibility: hidden; 在默认状态中添加:hover:not(:active) 优化响应