CSS选择器失效:按钮文字发光效果无法实现求助
问题分析与解决:CSS文字发光动画不生效且VS Code报错
错误核心原因
你将CSS选择器button.single_add_to_cart_button.button.alt用作了@keyframes的动画名称,这违反了CSS语法规范:动画名称必须是合法的CSS标识符(不能包含.、空格这类选择器专属符号)。同时你在元素样式中引用的动画名是glow,但定义动画时用了选择器名称,导致浏览器无法匹配动画,VS Code也会因语法错误抛出提示。
修正后的完整CSS代码
button.single_add_to_cart_button.button.alt { color: #fff; animation: glow 1s ease-in-out infinite alternate; /* 兼容旧版webkit/moz内核浏览器 */ -webkit-animation: glow 1s ease-in-out infinite alternate; -moz-animation: glow 1s ease-in-out infinite alternate; } @-webkit-keyframes glow { from { text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073; } to { text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6; } } @-moz-keyframes glow { from { text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073; } to { text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6; } } @keyframes glow { from { text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073; } to { text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6; } }
关键修正点
- 将所有
@keyframes的名称统一改为glow,与元素animation属性中引用的名称保持一致。 - 添加前缀版本的
animation属性,兼容旧版webkit和moz内核浏览器。 - 修正后VS Code的语法错误提示会消失,浏览器可正常识别并执行发光动画。
内容的提问来源于stack exchange,提问作者TobitheDev
相关产品推荐
相关产品推荐

