CSSで、animation効果と使って動きをつけてる場合。
スマホ画面の(一定の画面幅以下)の場合は
animation効果を解除したい場合。
その方法調べたがあまり情報が見つからなかったので
記事に残します。
今回調べてみて、JavaScriptを使う方法と、CSSで完了
出来る方法の2つがあるみたいとわかった。
この記事では、CSSのみで出来る方法をかいてます。
animation効果を解除する方法
animation効果を設定してる、プロパティ指定で出来ます。
今回書いたコード
1 2 3 4 5 6 7 8 |
@media screen and (max-width: 1000px) { .image{ animation: none; transform: none; transition: unset; opacity: 1; } } |
これで、imageクラスに設定してるanimation効果を解除されました。
一番下のopacity: 1;は、animation効果を設定した時に
最初に画像が表示されないようにopacity: 0;に設定してるため。
その非表示設定もここで一緒に解除してます。
今回実際に設定したコード
このコードは、ページを開いたら右から画像が現れて、
画面の右側80%位の場所に表示される設定です。
画面サイズが1000px以下の場合は、画像が画面の真ん中に
表示されるように設定変更してます。
書いたコード
HTML
1 2 3 4 5 |
<body> <div class="image"> <img src="./imgs/as.png" alt=""> </div> </body> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
@charset "utf-8"; body { width: 100%; max-width: 1500px; height: 100vh; display: flex; justify-content: center; align-items: center; } .image { width: 200px; height: 200px; opacity: 0; animation: poyo 0.8s cubic-bezier(0.4, 0, 0.1, 0) 1 forwards; } .image img { width: 100%; height: 100%; } @keyframes poyo { 0% { transform: translateX(1500px); opacity: 0; } 100% { transform: translateX(80%); } 100% { opacity: 1; } } @media screen and (max-width: 1000px) { .image{ animation: none; transform: none; transition: unset; opacity: 1; } } |
フリーランス案件
フリーランスにもIT技術にも詳しいコンサルタントだから安心!【ポテパンフリーランス】
フリーランスコンサルタント・エンジニア伴走型マッチングサービス【RIRIKU】
コメント