CSS Transform Rotate失效:食谱闪卡点击翻转功能异常排查
食谱闪卡翻转失效问题修复方案
核心问题出在CSS选择器错误,导致--rotate-y变量无法被正确赋值,进而卡片的transform属性没有更新。
修复步骤:
- 把CSS中的
.card .card-flip改为.card.card-flip(去掉空格),因为card-flip是和card并列的类名,而非后代元素的类名。
修正后的完整CSS代码:
.card{ display:flex; justify-content: center; position: relative; align-items: center; border: 1px solid rgb(187, 178, 178); transform-style:preserve-3d !important; transform: perspective(1000px) rotateY(var(--rotate-y,0)); height:450px; width: 450px; transition: transform 0.5s ease; } /* 修正选择器:去掉空格,匹配同时拥有card和card-flip类的元素 */ .card.card-flip{ --rotate-y: 180deg; } .card .front, .card .back { position:absolute; padding: 1rem; backface-visibility: hidden; } .card .front{ transform: rotateY(0deg); } .card .back { transform: rotateY(180deg); }
React部分代码无需修改(你已经确认类切换逻辑正常),点击卡片时flip状态切换,card-flip类会被正确添加/移除,此时修正后的CSS选择器会生效,将--rotate-y设为180deg,触发卡片的3D翻转动画,同时backface-visibility:hidden会让背面元素在翻转后显示、正面元素隐藏。
内容的提问来源于stack exchange,提问作者user22698668
相关产品推荐
相关产品推荐

