ホームページ ウェブフロントエンド CSSチュートリアル CSS プロパティを使用してレスポンシブ画像の遅延読み込みを実装する方法

CSS プロパティを使用してレスポンシブ画像の遅延読み込みを実装する方法

Nov 18, 2023 am 08:12 AM
レスポンシブ 遅延読み込み cssプロパティ

CSS プロパティを使用してレスポンシブ画像の遅延読み込みを実装する方法

CSS プロパティを使用してレスポンシブ画像の遅延読み込みを実装する方法

Web 開発では、特にモバイル上で、大量の画像を読み込む必要がある状況によく遭遇します。デバイス。ページの読み込み速度とユーザー エクスペリエンスを向上させるために、画像の遅延読み込みが一般的な最適化方法になっています。

遅延読み込みとは、ページが読み込まれるときに、ページ全体のすべての画像を読み込むのではなく、表示領域内の画像のみが読み込まれることを意味します。これにより、初期読み込みに必要な時間が大幅に短縮され、帯域幅の不必要な浪費が回避されます。

この記事では、CSS プロパティを使用して、さまざまな画面サイズやデバイスに適用できるレスポンシブ画像の遅延読み込みを実現する方法を紹介します。

まず、HTML で遅延ロードする必要がある画像を定義する必要があります。ここでは、<img class="lazy-image lazy" src="/static/imghw/default1.png" data-src="image.jpg" alt="CSS プロパティを使用してレスポンシブ画像の遅延読み込みを実装する方法" > 要素を使用し、カスタム属性 data-src を設定して、画像の実際の URL を保存します。

<img class="lazy-image lazy" src="/static/imghw/default1.png" data-src="image.jpg" data- alt="Image">
ログイン後にコピー

次に、初期画像を非表示にし、background-size プロパティを使用して画像の背景画像を設定する CSS スタイルを記述する必要があります。

.lazy-image {
  background-image: url(placeholder.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
ログイン後にコピー

上記のコードの placeholder.jpg は、実際の画像が読み込まれるまで表示するために使用されるプレースホルダー画像です。

次に、CSS プロパティ @media を使用して、さまざまな画面サイズに応じたさまざまなスタイルを定義します。

/* 对于大屏幕设备,立即加载图像 */
@media screen and (min-width: 1024px) {
  .lazy-image {
    background-image: none;
  }
}

/* 对于小屏幕设备,延迟加载图像 */
@media screen and (max-width: 1023px) {
  .lazy-image {
    visibility: hidden;
  }
  
  .lazy-image[data-src] {
    visibility: visible;
  }
}
ログイン後にコピー

上記のコードでは、@media ディレクティブを使用して、画面の幅を 1024px 以上と 1024px 未満の 2 つの範囲に分割します。大画面デバイスの場合は、画像をすぐにロードし、background-imagenone に設定します。小さな画面デバイスの場合、.lazy-imagevisibility 属性を hidden に設定し、data-src 属性も設定します。 .lazy-image 要素は、visibility 属性を visible に設定し、画像の遅延読み込みを実現できるようにします。

最後に、JavaScript を使用して実際に画像を読み込む必要があります。

document.addEventListener("DOMContentLoaded", function() {
  const lazyImages = document.querySelectorAll(".lazy-image");

  const lazyLoad = function() {
    lazyImages.forEach(function(img) {
      if (img.getBoundingClientRect().top <= window.innerHeight && img.hasAttribute("data-src")) {
        img.setAttribute("src", img.getAttribute("data-src"));
        img.removeAttribute("data-src");
      }
    });
  };

  window.addEventListener("scroll", lazyLoad);
  window.addEventListener("resize", lazyLoad);
  window.addEventListener("orientationchange", lazyLoad);
});
ログイン後にコピー

上記のコードでは、document.querySelectorAll を使用して .lazy-image クラスのすべての要素を取得し、lazyLoad を定義します。画像が可視領域内にあるかどうかを判断し、可視領域内にある場合は画像をロードする関数。

最後に、lazyLoad 関数をブラウザのスクロール、ウィンドウ サイズ変更、画面方向変更イベントにバインドして、ページがスクロールまたはサイズ変更されたときに読み込み関数がトリガーされるようにします。

上記は、CSS プロパティを使用して応答性の高い画像の遅延読み込みを実装する方法と対応するコード例です。この方法により、Web ページの読み込み速度を最適化し、ユーザー エクスペリエンスを向上させ、帯域幅の不必要な浪費を回避できます。

以上がCSS プロパティを使用してレスポンシブ画像の遅延読み込みを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Spring Data JPA のアーキテクチャと動作原理は何ですか? Spring Data JPA のアーキテクチャと動作原理は何ですか? Apr 17, 2024 pm 02:48 PM

SpringDataJPA は JPA アーキテクチャに基づいており、マッピング、ORM、トランザクション管理を通じてデータベースと対話します。そのリポジトリは CRUD 操作を提供し、派生クエリによりデータベース アクセスが簡素化されます。さらに、遅延読み込みを使用して必要な場合にのみデータを取得するため、パフォーマンスが向上します。

CSS での溝は何を意味しますか CSS での溝は何を意味しますか Apr 28, 2024 pm 04:12 PM

CSS では、groove は溝のような効果を生み出す境界線のスタイルを表します。具体的なアプリケーションは次のとおりです。 CSS プロパティの border-style:groove を使用します。溝の形をした境界線には、凹状の内側のエッジ、盛り上がった外側のエッジ、および影の効果があります。

Angular コンポーネントとその表示プロパティ: 非ブロックのデフォルト値について Angular コンポーネントとその表示プロパティ: 非ブロックのデフォルト値について Mar 15, 2024 pm 04:51 PM

Angular フレームワークのコンポーネントのデフォルトの表示動作は、ブロックレベルの要素ではありません。この設計の選択により、コンポーネント スタイルのカプセル化が促進され、開発者が各コンポーネントの表示方法を意識的に定義することが促進されます。 CSS プロパティの表示を明示的に設定することで、Angular コンポーネントの表示を完全に制御して、目的のレイアウトと応答性を実現できます。

Java JPA パフォーマンス最適化のヒント: アプリケーションを高速化する Java JPA パフォーマンス最適化のヒント: アプリケーションを高速化する Feb 19, 2024 pm 09:03 PM

記事のキーワード: JavaJPA パフォーマンスの最適化 ORM エンティティ管理 JavaJPA (JavaPersistance API) は、Java オブジェクトを使用してデータベース内のデータを操作できるようにするオブジェクト リレーショナル マッピング (ORM) フレームワークです。 JPA は、データベースと対話するための統合 API を提供し、同じコードを使用して異なるデータベースにアクセスできるようにします。さらに、JPA は、アプリケーションのパフォーマンスを向上させることができる遅延ロード、キャッシュ、ダーティ データ検出などの機能もサポートしています。ただし、使用方法を誤ると、JPA のパフォーマンスがアプリケーションのボトルネックになる可能性があります。一般的なパフォーマンスの問題は次のとおりです。 N+1 クエリの問題: アプリケーションで JPQL クエリを使用すると、N+1 クエリの問題が発生する可能性があります。このような中で

HTML画像が大きすぎる場合の対処法 HTML画像が大きすぎる場合の対処法 Apr 05, 2024 pm 12:24 PM

大きすぎる HTML 画像を最適化する方法をいくつか紹介します。 画像ファイル サイズを最適化する: 圧縮ツールまたは画像編集ソフトウェアを使用します。メディア クエリを使用する: デバイスに基づいて画像のサイズを動的に変更します。遅延読み込みを実装します。画像が表示領域に入ったときにのみ画像を読み込みます。 CDN を使用する: イメージを複数のサーバーに配布します。画像プレースホルダーを使用する: 画像の読み込み中にプレースホルダー画像を表示します。サムネイルを使用する: 画像の小さいバージョンを表示し、クリックするとフルサイズの画像を読み込みます。

Laravelのパフォーマンスボトルネックを解読:最適化テクニックを完全公開! Laravelのパフォーマンスボトルネックを解読:最適化テクニックを完全公開! Mar 06, 2024 pm 02:33 PM

Laravelのパフォーマンスボトルネックを解読:最適化テクニックを完全公開! Laravel は人気のある PHP フレームワークとして、開発者に豊富な機能と便利な開発エクスペリエンスを提供します。ただし、プロジェクトのサイズが大きくなり、訪問数が増加すると、パフォーマンスのボトルネックという課題に直面する可能性があります。この記事では、開発者が潜在的なパフォーマンスの問題を発見して解決できるように、Laravel のパフォーマンス最適化テクニックについて詳しく説明します。 1. Eloquent の遅延読み込みを使用したデータベース クエリの最適化 Eloquent を使用してデータベースにクエリを実行する場合は、次のことを避けてください。

Hibernate はデータベース クエリのパフォーマンスをどのように最適化しますか? Hibernate はデータベース クエリのパフォーマンスをどのように最適化しますか? Apr 17, 2024 pm 03:00 PM

Hibernate クエリのパフォーマンスを最適化するためのヒントには、遅延読み込みを使用してコレクションと関連オブジェクトの読み込みを延期すること、バッチ処理を使用して更新、削除、または挿入操作を組み合わせて、HQL 外部接続を使用して頻繁にクエリされるオブジェクトをメモリに保存することなどがあります。エンティティとその関連エンティティを取得し、SELECTN+1 クエリ モードを回避するためにクエリ パラメータを最適化し、ブロック内の大量のデータを取得するためにインデックスを使用します。

iframe読み込みイベントを防ぐ方法 iframe読み込みイベントを防ぐ方法 Feb 19, 2024 am 08:02 AM

iframe 読み込みイベントを防ぐ方法 Web 開発では、他の Web ページやコンテンツを埋め込むために iframe タグをよく使用します。デフォルトでは、ブラウザが iframe をロードすると、loading イベントがトリガーされます。ただし、場合によっては、iframe の読み込みを遅らせたり、読み込みイベントを完全に阻止したりしたい場合があります。この記事では、コード例を通じてこれを実現する方法を説明します。 1. iframe の読み込みを遅らせる iframe の読み込みを遅らせたい場合は、次を使用できます。

See all articles