CSSで要素をふわっと表示させる方法を解説!

CSSで要素をふわっと表示させる方法を解説します。CSSで要素をふわっと表示させることで、よりオシャレなWEBページを作成することができます。ここではさらにスクロールした際に、要素をふわっと表示させる方法についても紹介します。

コンテンツ [表示]

  1. 1CSSで要素をふわっと表示させたい
  2. 2CSSで要素をふわっと表示させる方法
  3. 2.1CSSのみ
  4. 2.2スクロール時にふわっと表示させる方法
  5. 2.3ページ読み込み時にふわっと表示させる方法
  6. 3まとめ

CSSで要素をふわっと表示させたい

CSSでふわっと画像や文字を表示させて、よりオシャレなサイトを作成したいことがあります。

ここでは文字を用いてその方法の紹介と合わせて、スクロールした際に文字が浮かび上がって出てくる方法についても紹介します。

Photo byFree-Photos

CSSで要素をふわっと表示させる方法

ここではCSSで要素をふわっと表示させる方法についてCSSのみで行う方法、jQueryを用いてスクロール時もしくはページ読み込み時に行う方法についてそれぞれの項目で紹介します。

CSSのみ

CSSのみで要素をふわっと表示させるには、アニメーションを用いる必要があります。

ではアニメーションを用いるとどのようになるか、サンプルコードで実際の挙動を見てみましょう。
 

このようにふわっと文字がフェードインして表示されていることが分かります。

ではアニメーションの解説をします。

まずアニメーションさせたい要素にanimation-nameで適当な名前を設定してください。
そしたら次に@keyframes animation-nameに今回の場合は始めにopacity: 0;最後にopacity: 1;としたいので、0%100%にそれぞれ記述します。

あわせて読みたい
opacity
CSSのopacityプロパティは要素の透明度を指定するプロパティです。opacityプロパティの構文や使い方をサンプルコード付きで解説します。

そしてanimation-duration: 1s;で1秒かけてアニメーションするように設定して、今回はフェードしていることが分かりやすく伝えるために5回フェードさせる記述をanimation-iteration-count: 5;で行っています。

スクロール時にふわっと表示させる方法

スクロール時にふわっと文字が出てくるようにするためにはjQueryを用います。

では実際にサンプルコードを用いて挙動を見てみましょう。

スクロールすると文字がふわっとフェードインして浮かび上がることが分かります。

ではサンプルコードの解説を行います。

まずCSSではtransitionプロパティを用いて、opacityを3秒かけて変化させることによって、フェードを実現させています。

jQueryのコードの解説

jQueryでは今回はスクロールされたときの処理なので、scrollイベントを用います。そしてフェードさせたい要素に対して、機能を持たせます。

$(this).offset().topではフェードさせる要素の高さを示しています。

$(window).scrollTop()はスクロールした際の垂直方向のスクロール幅を示しており、初期値は0となっています。

あわせて読みたい
scrollTop()
jQueryのscrollTop()は要素やウィンドウの現在のスクロール位置を取得したり、更に強制的に指定のスクロール位置までスクロールさせるといった処理も可能な2つの機能を有するメソッドです。.scrollTop()の使い方をサンプルコード付きで解説します。

$(window).height()はwindowの高さを示しています。

そしてもしscroll > targetElement - windowHeightの時に、classview
をもたせることで、文字が表示されるように設定しています。

今回はtargetElement - windowHeightがマイナスとなるためにスクロールされると直ぐに表示される形となっています。

ページ読み込み時にふわっと表示させる方法

先ほどのスクロール時にふわっと表示させる方法だと、スクロールしないと内容が表示されません。

今回はスクロールしなくてもページを読み込んだ際にもふわっと表示させる方法について紹介します。

こちらに関してはリロードしていただくと分かるのですが、スクロール時と合わせて、ページを読み込んだ際にも文字がふわっとフェードインして表示されていることが分かります。

ではコードの解説を行います。

コードとしては先ほどのふわっと表示させる方法とほとんど同じで、違う点としては、ふわっと表示させる方法でのjQueryのコード全体をwindow.onloadで囲んだ点です。

そうすることでページを読み込んだ際の処理を行うことができます。

こちらの方法も適宜調整が必要です。

まとめ

いかがでしたでしょうか?

スクロールした際にふわっと表示させることで、よりオシャレなWEBページを作成することができます。

また1つ補足としてscrollイベントは1つ1つが少し重い処理なので、使いすぎるとWEBページのロードが長くなってしまいます。

そんな時には同じくscroll処理をしてくれるIntersectionObserverなどを用いてみるといいかもしれません。

まずは基本としてここで紹介した方法を試してみてください。

GeekHive採用サイト

関連記事