[CSS]背景色を点滅させるアニメーションサンプル
今作っているサービスで背景色を点滅させたい、ということがあったのでテスト的に書いてみました。
cssのアニメーションを設定するだけで可能です。
コードはこちら。
See the Pen 背景色を点滅させるアニメーションサンプル by Makoto Ohnami (@zohnami) on CodePen.
htmlはなんてことないですが、cssを改めて眺めてみましょう。
.box
の要素クラスにアニメーションを仕込んでいます。
点滅を繰り返すようにanimation-iteration-count: infinite;
としています。
.container {
display: grid;
place-content: center;
}
.box {
width: 200px;
height: 200px;
background-color: #a0d8ef;
text-align: center;
line-height: 200px;
vertical-align: middle;
animation-name: flashing;
animation-duration: 2.4s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-iteration-count: infinite;
}
@keyframes flashing {
0% {
background-color: #a0d8ef;
}
50% {
background-color: #0095d9;
}
100% {
background-color: #a0d8ef;
}
}
もうひとつポイント。
keyframeのflashing
は50%のところで色を切り替えて、また100%のところで元の色に戻すようにしています。
例えば100%のところで色を完全に切り替えるようにしてしまうと、色が変わった後は0%に戻るのでそこだけスパッと色が変わったようになってしまいます。
100%になるまでは徐々に色が変わっていくことで点滅を演出しているので、100%から0%に戻るときだけ急に切り替わると不自然に見えます。
今回は.box
のクラスにアニメーションの設定を直接書き込んでいますが、実際に使うときはアニメーション専用のクラスに設定を書き、状況に応じてクラスを追加、削除とかするのがセオリーかなと思います。
この記事の環境情報
- Google Chrome 108.0.5359.124
あとがき
点滅なんて使う?って思うかもしれませんが、これがあるんです。
タイマーを使うSPAみたいのを作ってるんですが、時間が経過したら点滅をさせたくなってしまって。
htmlに関する他の記事を読む
- [JavaScript]親要素の表示領域でクリックしているかを判定する方法
- 続・cssの一箇所を変更してテーマ全体を入れ替える
- cssの一箇所を変更してテーマ全体を入れ替えるサンプル
- クリックしたときにCSSで線を引くサンプル
cssに関する他の記事を読む
- [JavaScript]親要素の表示領域でクリックしているかを判定する方法
- nth-childの疑似要素で3番目以降にスタイルを全適用する
- 続・cssの一箇所を変更してテーマ全体を入れ替える
- cssの一箇所を変更してテーマ全体を入れ替えるサンプル
最近の記事を読む
- Flutterでcontextを使わずにlocale情報を取得する
- Cloud RunでIAPを有効にしようとしてハマったこと
- slimでtype='application/ld+json'のscriptタグを書く
- タグマネージャーでjsのloadイベントを発火させたいとき
- mysqlコマンドを実行してERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)と言われたら