ホームページ作成/テキストの配置・装飾 (HTML,CSS)

CSS3だけで特定の要素をアニメーションさせる方法(4ページ目)

CSS3では、「CSSだけ」で簡単なアニメーションを作成できます。スクリプトは一切不要。CSSソースを記述するだけで、文字を動かしたり、背景色を徐々に変化させたりなど、様々なアニメーションが実現できます。古いブラウザで閲覧した場合でも、ただアニメーションしない状態で表示されるだけなので、安心して活用できます。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

アニメーションの途中にある任意ポイントの装飾を指定する

アニメーションの動作を記述する「@keyframes規則」では、少なくとも「スタート時点(from)」と、「ゴール時点(to)」の2つさえ指定していれば十分です。しかし、アニメーションの途中で大きく動作(装飾など)を変えたい場合には、任意の箇所を割合(パーセント表記)で指定することで、細かく動きを制御できます。

下記のCSSソースには、アニメーションの中間を示す「50%」の値を追加して、フォントサイズがアニメーションの中盤で最大になるように記述しています。
@keyframes slidein {
  from {
    margin-left: 100%;
    width: 300%;
    color: blue;
    background-color: #aaccff;
    font-size: 200%;
  }
  50% {
    font-size: 400%;
  }
  to {
    margin-left: 0%;
    width: 100%;
    color: black;
    background-color: white;
    font-size: 200%;
  }
}
中盤で変化するアニメーション

中盤で変化するアニメーション

上記のCSSソースを使って前ページのHTMLを表示すると、下記のように表示されます。
  • 右端から中央に向かってスライドする過程では、徐々に文字サイズが大きくなり、
  • 中央に到達した時点で文字サイズが最大になり、
  • 中央から左端に向かってスライドする過程では、徐々に文字サイズが小さくなる。
実際にブラウザで表示させてみたい場合は、以下のサンプルページをご覧下さい。

アニメーション「スライドイン」のサンプルページ2


アニメーションの進行タイミングを指定: animation-timing-function

animation-timing-functionプロパティは、アニメーションの進行タイミングを指定するプロパティです。以下のように、キーワードを指定して記述します。
animation-timing-function: ease;
アニメーションの進行タイミングがいろいろ用意されている

アニメーションの進行タイミングがいろいろ用意されている

何も指定しなければ、上記のように値「ease」が指定されたものとして解釈されます。それぞれのキーワードと意味は、以下の通りです。
  • 「linear」:常に一定の速度で移動。
  • 「ease」:最初に急加速し、中盤で最速になり、緩やかに減速。
  • 「ease-in」:緩やかに加速。
  • 「ease-out」:緩やかに減速。
  • 「ease-in-out」:緩やかに加速して、緩やかに減速。
ブラウザで表示確認すると、どのような動作になるのかがよくわかります。以下のサンプルページをご覧下さい。

animation-timing-functionプロパティの値の違い(サンプルページ)



 

そのほかのアニメーション関連プロパティ

今回使わなかったプロパティも多数

今回使わなかったプロパティも多数

さて、今回は、CSS3で追加されたアニメーションに関するプロパティのうち、3種類だけを使いました。今回ご紹介したほかには、
  • 再生回数を指定する「animation-iteration-count」プロパティ(デフォルト値は「1」)、
  • アニメーションの再生方向を指定する「animation-direction」プロパティ(デフォルト値は「normal」)、
  • アニメーションを開始するまでの待ち時間を指定する「animation-delay」プロパティ(デフォルト値は「0」)
……などのプロパティがあります。すべてを解説すると長くなってしまいますので本記事では割愛しました。詳しくは、またの機会にご紹介いたします。


 

CSSだけで手軽に実現できるアニメーション

今回は、CSS3で新しく追加されたプロパティや@規則を使って、スクリプトを使うことなくアニメーションを実現させる方法をご紹介いたしました。非対応のブラウザで表示させた場合でも、元々の要素は問題なく表示されるため、気軽に使えます。ぜひ、試してみて下さい。

【関連記事】
【編集部おすすめの購入サイト】
楽天市場でホームページ作成関連の書籍を見るAmazon でホームページ作成の参考書を見る
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます