带box-shadow霓虹发光效果的CSS动画环形进度条实现问题
问题原因
你当前的动画环形进度条无法展示清晰霓虹效果,是因为.wrapper和.circle元素设置的clip: rect()规则裁剪了box-shadow的外发光区域,导致发光部分被截断,显示效果混乱。
修复方案
只需调整裁剪逻辑,给发光效果预留足够的显示空间即可,具体修改的CSS代码如下:
/* 调整wrapper的尺寸和裁剪规则,预留20px发光空间 */ .wrapper { width: 240px; /* 增加40px,左右各留20px放置发光效果 */ height: 240px; position: absolute; clip: rect(0px, 240px, 240px, 120px); /* 裁剪参数对应调整,仍只显示右半部分 */ margin-top: 50px; } /* 调整circle的位置和裁剪参数 */ .circle { width: 160px; height: 160px; border: 10px solid white; box-shadow: inset 0 0 1px white, inset 0 0 2px #17c3b2, inset 0 0 6px #17c3b2, inset 0 0 7px #17c3b2, inset 0 0 8px #17c3b2, inset 0 0 9px #17c3b2, 0 0 1px white, 0 0 6px #17c3b2, 0 0 7px #17c3b2, 0 0 8px #17c3b2, 0 0 9px #17c3b2; border-radius: 50%; position: absolute; top: 20px; /* 居中对齐,适配wrapper调整后的尺寸 */ left: 20px; clip: rect(0px, 90px, 200px, 0px); /* 裁剪参数微调,避免裁剪到发光区域 */ }
修改完成后环形进度条的外发光不会再被裁剪,能得到和上方线条、文本完全一致的清晰霓虹效果,原有动画逻辑不受任何影响。
内容的提问来源于stack exchange,提问作者zlobul
相关产品推荐
相关产品推荐

