MVのベストな実装方法

MVのベストな実装方法

1  pictureタグ採用時のベストCSS

    <div class="main_visual">
        <picture>
          <source media="(max-width: 768px)" srcset="img/mv_sp.png" />
          <source media="(max-width: 1440px)" srcset="img/mv1.png" />
          <img src="img/mv1.png" alt="メインビジュアル" loading="lazy" />
        </picture>
      </div>


cssは以下の通りに、object-fitとaspect-ratioを使う

/*---------------MVの設定-------------------------------*/
.main_visual {
  width: 100%;
  aspect-ratio: 2 / 1; /* 2:1の比率で1440pxなら720px */ミュートしてます
  /*max-height: 920px; /* 最大720pxに制限 */
  margin-top: 70px; /* ヘッダーの高さ分のマージンを追加 */
  overflow: hidden;
  position: relative;
}
.main_visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media screen and (max-width: 768px) {
  .main_visual {
    /*aspect-ratio: 4 / 3; /* スマホは4:3など調整可能 */ミュートしてます
    height: 100vh; /* ビューポートの高さに合わせる */
  }
}
/*---------------MVの設定終了-------------------------------*/

ポイント:

object-fit: cover - 比率を保ちつつ領域を埋める
object-fit: contain - 画像全体を表示(余白が出る場合あり)
object-position - top/center/bottomで配置調整可能



2. background-image採用時のベストCSS


HTML親だけ

<div class="main_visual"></div>


CSSはbackground-image


.main_visual {
  width: 100%;
  aspect-ratio: 2 / 1;
  /*max-height: 920px;*/ミュートだけ
  background-image: url("../img/mv1.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}


ポイント:

background-size: cover - 領域を埋める
background-size: contain - 画像全体を表示
background-position - center/center top/center bottomで調整




使い分けは??
3. 使い分けの基準



imgタグを使うべき場合
✅ SEOを重視する(alt属性でコンテンツ説明)
✅ アクセシビリティ重視(スクリーンリーダー対応)
✅ 画像が重要なコンテンツ(商品写真、人物写真など)
✅ 印刷時も表示したい
✅ 画像の遅延読み込み(loading="lazy")を活用したい
✅ SNSシェア時のOGP画像として認識させたい場合も有利

例: MVやECサイトの商品画像、ポートフォリオの作品、ニュースサイトの記事画像




background-imageを使うべき場合
✅ 純粋な装飾要素(デザインの一部)
✅ テキストオーバーレイが必要(見出しやボタンを重ねる)
✅ レスポンシブで画像の一部が切れてもOK
✅ CSSで完結させたい(管理がシンプル)
✅ 疑似要素(::before/::after)で装飾を追加
✅ 複数背景を重ねる場合

例: ヒーローセクションの背景、パターン背景、装飾的なビジュアル


一般的なコーポレートサイト・ブログ:
→ pictureタグ(SEO・アクセシビリティ重視)

デザイン重視のランディングページ・ポートフォリオ:
→ background-image(装飾性・柔軟性重視)

迷ったら: pictureタグを選ぶのが2025年のベストプラクティスです。