スタイリッシュなアイキャッチで記事を目立たせる: HTMLテンプレート

image0

このテーマの特徴

このHTMLテンプレートは、ブログ記事やウェブサイトのアイキャッチ(トップ画像)をスタイリッシュに表示するためのものです。以下に特徴を詳しく説明します。

1. 視覚的に魅力的なデザイン

  • 背景画像: image-wrapper要素は、background-imageプロパティを使って背景画像を設定します。デフォルトではunsplash.comの画像が設定されていますが、自由に他の画像に変更できます。
  • オーバーレイ: overlay要素は、背景画像の上に半透明の黒色のレイヤーを重ね、テキストが見やすく、画像の雰囲気が引き立ちます。
  • テキスト: content要素は、中央に配置されたテキストエリアです。見出し (h1) と本文 (p) を含みます。
  • ボタン: button要素は、続きを読む用のボタンで、メインカラー (青) を使用し、ホバー時に色が少し暗くなります。

2. カスタマイズしやすい構造

  • 変数: :root要素で定義されたCSS変数 (--primary-color, --secondary-color, --text-color, --font-family) を使用することで、デザインのカラーやフォントを簡単に変更できます。
  • 画像の変更: image-wrapper要素のbackground-imageプロパティを、使用したい画像のURLに変更するだけです。
  • テキストの変更: content要素内の<h1><p>タグのテキストを、ブログ記事の内容に合わせて変更します。
  • ボタンのテキスト: button要素内のテキストを、適切な文言に変更できます。

3. レスポンシブデザイン

  • メディアクエリ: @mediaクエリを使って、画面サイズに合わせてデザインを調整できます。特に、モバイルデバイスでの表示を考慮したレイアウトが適用されています。
  • 画像のカバー: background-size: coverにより、どんなサイズの画像でも容器にフィットします。

4. ホバーエフェクト

  • 画像の暗転: container要素にマウスホバーしたときに、image-wrapperの不透明度が下がります。
  • オーバーレイの濃化: 同時に、overlayの不透明度が上がり、画像の陰影が強くなります。

5. その他の特徴

  • スクロールバーの非表示: overflow: hiddenにより、画面全体にアイキャッチが大きく表示されます。
  • デフォルト画像の利用: デフォルトで設定されている画像は、unsplash.comから引用されています。
  • CSS変数: CSS変数は、デザインを統一し、変更を簡単にできるようにします。

このテンプレートは、さまざまなブログやウェブサイトに適した、シンプルで洗練されたアイキャッチのデザインを提供します。カスタマイズして、あなたのウェブサイトのブランドイメージに合わせることができます。

ソースコード

<!DOCTYPE html>
<html lang="{BlogLanguage}">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>{BlogTitle} - {Title}</title>
  <style>
    :root {
      --primary-color: #007bff; /* メインカラー (青系) */
      --secondary-color: #f8f9fa; /* セカンダリーカラー (白系) */
      --text-color: #333; /* テキストカラー (黒系) */
      --font-family: 'Noto Sans CJK JP', sans-serif;
    }

    body {
      margin: 0;
      font-family: var(--font-family);
      background-color: var(--secondary-color);
      color: var(--text-color);
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: 100vh;
      overflow: hidden; /* スクロールバーを隠す */
    }

    .container {
      position: relative;
      width: 100%;
      max-width: 1200px;
      height: 630px;
      overflow: hidden;
    }

    .image-wrapper {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: url("https://images.unsplash.com/photo-1542838132-92c53300491e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80"); /* デフォルト画像 */
      background-size: cover;
      background-position: center;
      transition: opacity 0.5s ease;
    }

    .overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒 */
      transition: opacity 0.5s ease;
    }

    .content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      color: var(--secondary-color);
    }

    h1 {
      font-size: 48px;
      margin-bottom: 16px;
      font-weight: bold;
    }

    p {
      font-size: 24px;
      margin-bottom: 24px;
      line-height: 1.5;
    }

    .button {
      display: inline-block;
      padding: 12px 24px;
      background-color: var(--primary-color);
      color: var(--secondary-color);
      font-size: 18px;
      font-weight: bold;
      text-decoration: none;
      border-radius: 4px;
      transition: background-color 0.3s ease;
    }

    .button:hover {
      background-color: darken(var(--primary-color), 10%); /* カラーを少し暗く */
    }

    /* レスポンシブデザイン */
    @media (max-width: 768px) {
      h1 {
        font-size: 32px;
      }

      p {
        font-size: 18px;
      }

      .button {
        font-size: 16px;
      }
    }

    /* 画像のホバーエフェクト */
    .container:hover .image-wrapper {
      opacity: 0.8; /* 画像を少し暗く */
    }

    .container:hover .overlay {
      opacity: 0.7; /* オーバーレイを少し濃く */
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="image-wrapper"></div>
    <div class="overlay"></div>
    <div class="content">
      <h1>{Title}</h1>
      <p>{FirstCategory}</p>
      <a href="#" class="button">続きを読む</a>
    </div>
  </div>
</body>
</html>