円の中にアイコンがあり、クリックするとactiveクラスが追加されアニメーションが開始されます。
(円だけが中心に小さくなっていき、消えた後再び中心から現れる)
PCやAndoroidでは上手く表示されたのに、Iphone7では右下に消えていきます。。
検索ヒットしたtransform-origin:50% 50%;なども効きませんでした
解決法、原因の調べ方など検討つくかた、ぜひ教えていただければと思います!
よろしくお願いいたします。
HTML
1<div class="reaction"> 2 <div class="button heart_b"> 3 <div id="v_love_stamp" class="outline"><div class="stamp"></div> 4 <span class="far fa-heart"></span> 5 </div> 6 </div> 7 <div class="button nice_b"> 8 <div id="v_good_stamp" class="outline"><div class="stamp"></div> 9 <span class="far fa-thumbs-up"></span> 10 </div> 11 </div> 12</div>
CSS
1.reaction .button { 2 display: inline-block; 3 margin: 0 4%; 4} 5.button .outline { 6 display: block; 7 width: 100px; 8 height: 100px; 9 color: #fff; 10 position: relative; 11} 12.stamp{ 13 width: 100%; 14 height: 100%; 15 background: orange; 16 border-radius: 50%; 17 position: absolute; 18 top: 50%; 19 left: 50%; 20 transform: translate(-50%, -50%); 21 -webkit-transform: translate(-50%, -50%); 22 transform-origin:50% 50%; 23} 24.button .active .stamp{ 25 animation: stamp linear 1.4s; 26 -webkit-animation: stamp linear 1.4s; 27} 28@keyframes stamp { 29 25%{ 30 transform:translate(-50%, -50%) scale(0); 31 -webkit-transform:translate(-50%, -50%) scale(0); 32 } 33 70%{ 34 transform:translate(-50%, -50%) scale(0); 35 -webkit-transform:translate(-50%, -50%) scale(0); 36 } 37 85%{ 38 transform:translate(-50%, -50%) scale(1.3); 39 -webkit-transform:translate(-50%, -50%) scale(1.3); 40 } 41 90%{ 42 transform:translate(-50%, -50%) scale(1); 43 -webkit-transform:translate(-50%, -50%) scale(1); 44 } 45} 46.reaction .far{ 47 position: absolute; 48 top: 50%; 49 left: 50%; 50 transform: translate(-50%, -50%); 51 -webkit-transform: translate(-50%, -50%); 52 font-size: 6rem; 53}
参考になるか不明ですが補足です。
@keyframes stampをscale(0.01)ではうまく真ん中に縮んでくれます。
プラスscale(0)を追加するとそこから右下に消えていきます。
また、scale(0)をwidth:0、height:0にすると左上に消えていきます。
回答1件
あなたの回答
tips
プレビュー