CSSでn秒後に表示させよう!5つの実用例&サンプルコードでプロが解説

CSSを使って秒後に表示する方法を初心者目線で学ぶCSS
この記事は約9分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

あなたはウェブサイトで、特定の要素を一定時間後に表示させたいことはありませんか?

それを実現するのが、CSSのアニメーション機能です。

今回は、CSSを使って秒後に表示する方法を、初心者目線でわかりやすく徹底解説します。

5つの実用例とサンプルコードを交えながら、その使い方や対処法を学んでいきましょう。

●CSSで秒後に表示する基本的な方法

まずは、CSSで秒後に表示する基本的な方法を学びましょう。

これを理解すれば、応用例も簡単に作成できます。

HTMLファイルに要素を追加

次のようなHTMLファイルを作成してください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSSで秒後に表示する方法</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="container">
    <div class="box"></div>
  </div>
</body>
</html>

CSSファイルにアニメーションを設置

次に、次のようなCSSファイル(style.css)を作成してください。

.container {
  position: relative;
  width: 100%;
  height: 200px;
  background-color: #eee;
}

.box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  background-color: #f00;
  opacity: 0;
  animation: fadeIn 3s forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

上記のCSSでは、.box要素にアニメーションを設定しています。

animationプロパティの値は、fadeIn 3s forwardsです。

これにより、fadeInという名前のアニメーションが3秒かけて実行され、アニメーションが終了した状態が維持されます。

@keyframesルールでfadeInアニメーションを定義しており、0%(開始時)ではopacityが0(透明)で、100%(終了時)ではopacityが1(不透明)になります。

この方法で、.box要素は3秒後に表示されます。

●応用例1:秒後にテキストを表示

次に、テキストを秒後に表示する方法を見てみましょう。

次のようにHTMLファイルとCSSファイルを編集してください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSSで秒後に表示する方法</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="container">
    <p class="text">こんにちは!</p>
  </div>
</body>
</html>
.container {
  position: relative;
  width: 100%;
  height: 200px;
  background-color: #eee;
}

.text {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 24px;
  color: #000;
  opacity: 0;
  animation: fadeIn 3s forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

この例では、.text要素にアニメーションを設定しています。

先程と同じく、fadeInアニメーションが3秒後に実行されます。

●応用例2:秒後に画像を表示

画像も同様に秒後に表示させることができます。

次のようにHTMLファイルとCSSファイルを編集してください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSSで秒後に表示する方法</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="container">
    <img class="image" src="example.jpg" alt="例の画像">
  </div>
</body>
</html>
.container {
  position: relative;
  width: 100%;
  height: 200px;
  background-color: #eee;
}

.image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: auto;
  opacity: 0;
  animation: fadeIn 3s forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

上記の例では、.image要素にアニメーションを設定しています。

先程と同じく、fadeInアニメーションが3秒後に実行されます。

画像が表示されるタイミングを調整したい場合は、アニメーションの持続時間や遅延時間を変更してください。

●応用例3:秒後に要素をスライドインさせる

要素を秒後にスライドインさせる方法も見てみましょう。

次のようにHTMLファイルとCSSファイルを編集してください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSSで秒後に表示する方法</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="container">
    <div class="slide"></div>
  </div>
</body>
</html>
.container {
  position: relative;
  width: 100%;
  height: 200px;
  background-color: #eee;
}

.slide {
  position: absolute;
  top: 0;
  left: -100px;
  width: 100px;
  height: 100px;
  background-color: #0f0;
  animation: slideIn 3s forwards;
}

@keyframes slideIn {
  0% {
    left: -100px;
  }
  100% {
    left: 0;
  }
}

この例では、.slide要素にアニメーションを設定しています。

slideInアニメーションが3秒後に実行され、要素が左からスライドインします。

●応用例4:秒後に要素を回転させる

要素を秒後に回転させる方法も見てみましょう。

次のようにHTMLファイルとCSSファイルを編集してください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSSで秒後に表示する方法</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="container">
    <div class="rotate"></div>
  </div>
</body>
</html>
.container {
  position: relative;
  width: 100%;
  height: 200px;
  background-color: #eee;
}

.rotate {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  background-color: #00f;
  animation: rotation 3s forwards;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

この例では、.rotate要素にアニメーションを設定しています。

rotationアニメーションが3秒後に実行され、要素が360度回転します。

回転角度や回転方向を変更したい場合は、@keyframesルールのtransformプロパティを編集してください。

まとめ

今回の記事では、CSSを使って秒後に表示する方法を初心者目線で徹底解説しました。

また、実用例とサンプルコードを交えて、その使い方や対処法を学びました。

これらの方法を活用して、ウェブサイトのデザインをより魅力的にしていきましょう。

最後に、CSSで秒後に表示する方法を理解し、応用例を作成できた理由を振り返ります。

この記事の説明が初心者目線でわかりやすく、実際にサンプルコードを試すことができたからです。

これにより、問題を解決できるようになりました。

今後も、このような詳細な解説を活用して、ウェブデザインのスキルを向上させていきましょう。