我一直在使用转换和过渡来创建没有Javascript的动画UI组件,并真正享受结果,但是我遇到了一个令人困扰的问题,它似乎是Webkit浏览器所特有的。
在我旋转过的元素上,只能在元素右侧50%上访问跨越元素宽度100%的锚。
在Firefox中使用-moz-transform不存在此问题,但是在使用-webkit- transform的Chrome和Safari中均可以100%再现此问题。
这是代码:
<!doctype html> <html> <head> <title>webkit spincard test bed</title> <style type="text/css"> #card-lists{ width:100%; float:left; } #card-lists ul{ list-style:none; } #card-lists ul li{ width:230px; height:236px; } .non-mobile #card-lists ul.card-list li .flipcard-container:hover .flipcard, .non-mobile #card-lists ul.card-list li .flipcard-container.hover .flipcard{ -moz-transform: rotateY(180deg); -webkit-transform: rotateY(180deg); -moz-transform-style: preserve-3d; -moz-transition: all 0s linear 0s; -webkit-transform-style: preserve-3d; -webkit-transition: all 0s linear 0s; } .non-mobile #card-lists ul.card-list li .flipcard{ -moz-transform: rotateY(0deg); -moz-transition: all 0s linear 0s; -webkit-transform: rotateY(0deg); -webkit-transition: all 0s linear 0s; width:230px; height:236px; } .face { position: absolute; width: 100%; height: 100%; -moz-backface-visibility: hidden; -webkit-backface-visibility: hidden; } .face.back { background-color: #125672; -moz-transform: rotateY(180deg); -webkit-transform: rotateY(180deg); } .face.front { background-color:#000; } </style> </head> <body class="non-mobile"> <div id="card-lists"> <ul class="card-list" id="cardes-list-total"> <li> <div class="flipcard-container"> <div class="flipcard"> <div class="front face"> <a href="#"> <div style="width:100%; height:100%;"> </div> </a> </div> <div class="back face"> <a href="#"> <div style="width:100%; height:100%;"> </div> </a> </div> </div> </div> </li> </ul> </div> </body> </html>
任何人都可以提供的任何帮助将不胜感激,因为我已经在这个问题上花费了过多的时间。
梳理了Webkit Bugzilla之后,我发现了一个遇到相同问题的人,并找到了解决方法。
.face.back { background-color: #125672; -moz-transform: rotateY(180deg); -webkit-transform: rotateY(180deg); }
成为:
.face.back { background-color: #125672; -moz-transform: rotateY(180deg); -webkit-transform: rotateY(180deg) translateZ(1px); }
将translateZ添加到变换使元素的左侧可单击。
这是错误的链接:https : //bugs.webkit.org/show_bug.cgi?id=54371