【CSS3でおしゃれなサイトに】画像(星空)をくるくる回す(キーフレーム・transform:rotateなど)

      2021/02/16   2039文字

今回は、CSSを使って、動きのあるサイトを作ってみたいと思います。

絵はイラストacさんからお借りしました。CSS3では、カンタンなアニメーションを実装できるので、サイトに動きを出すことができます。ここでは『CSSでくるくる回す』というのをやってみたいと思います。

CSSでくるくる回すとき、参考になったサイト

とりあえず、(動画ではガンガンやってるくせに笑)CSSで要素をくるくるまわしたことは無かったので、検索しまくって、以下のサイトを見つけました。

これらのサイトを参考に、コードを書いてみました。

CSSで星空の画像をくるくるまわしてみる

実装例

とりあえず、CSS部分は直しちゃったので、このサイトにつけたときのスクリーンショットをとっておきました(MP4です)。星空の画像をここのdiv内において、くるくる回す感じです。これはすべて画像ファイルとCSSでできています。

くるくる回すときの、CSSのコード

■CSS

.rotate{
width: 480px;
height: 480px;
margin:0 auto;
filter:alpha(opacity=50);
-moz-opacity: 0.5;
opacity: 0.5;
background-image:url("/music-creation/wp-content/uploads/20171107zimage4144.png");
background-size: cover;
animation-name: twinkle;
animation-duration:60s;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
@keyframes twinkle {
0% {transform: rotate(0deg);}
100% {transform: rotate(360deg);}
}

■HTML

<div class="rotate">
</div>

ちょっとクラス名とプロパティ名がカブってややこしいんですけど(rotateとか)、こんな感じでやってみました。width&heightでサイズ・margin:0 autoで真ん中配置・filter:alphaで透過して薄く・background-imageが背景星空画像・background-size: coverでその要素全体に画像を広げました。

回転する部分に関するCSSについて

  • animation-name(そのアニメーションの名前・星だからtwinkleに笑)
  • animation-duration(長さ・60sだと60秒で回転)
  • animation-timing-function: linear(一定・ベジエ曲線みたいに変化もできるそうです)
  • animation-iteration-count: infinite(数値で再生回数指定、infiniteだとずっと回る)
  • keyframes twinkle(キーフレームで、さっき指定したアニメ名前を指定)
  • transform: rotate(0%回転スタート)
  • transform: rotate(100%で、360度回転)

いっこいっこプロパティを分けると、こんな説明になるかなと。

注意点

divというふうにあってここに背景が指定してありますが、背景だからといってこのdiv内に文字を入れてしまうと、文字も一緒にくるくる回ってしまいます。なのでめちゃくちゃ読みにくくなります。

回転するのは背景だけにし、文字は動かしたくない場合は、文字はこのdivの外に置き、z-indexで回転する背景は下・文字は上のような指定が必要になります。背景がくるくる回っていて、かつ上の文字は動かないサイトでは、z-indexが指定されています。

WordPressサイト制作&リニューアル・機能開発サービス | アトリエSS


【カテゴリ】 - CSS
【タグ】 -

  関連記事

WordPress CSSで色が変わらない時『functions.phpやテーマカスタマイザー』もチェック
【html5 videoとcss】ヘッダーやメインビジュアル背景に動画を使ってインパクトを与える方法
有名サービス・企業ectで使われる印象的な色を、CSSで使えるカラーコードで覚えよう(色商標についても)
【ワードプレスstingerスマホ最適化】記事一覧タイトル表示場所をPC/SPで切り替えて、スマホレイアウトで見やすくする
スクロール後に変な位置に移動するタイトルをcssのpositionで直す(wp rootstrapテーマ)
【WordPressテーマカスタマイズ】勝手にヘッダーの追加CSSで入ってくるマージンを消したいんですけど
【CSS】横並びメニューで、最初だけボーダー無しとかにしたい場合は?→擬似クラスfirst-childを、効かない例も紹介
【マテリアルデザインCSSフレームワーク】Materializeで、カッコいいビジネスサイト(静的HTML)を作る
ヘッダー・見出しを、『片方だけ丸い・台形・矢印』などおしゃれデザインにできるCSS
自社サイト(wpホームページ制作請負)のプチリニューアルしました(ヒーローヘッダー風&重なるメニュー)
【CSS・hover/transition/rotateでアニメーション】jquery無し・アイコン画像や要素をくるっと回転させる機能を実装
cssフレームワーク利用サイトで、意図しないpaddingなどを消すには?→同クラス上書き(例:bootstrap)