Rumah hujung hadapan web tutorial css Bagaimana untuk melaksanakan pemuatan malas imej responsif menggunakan sifat CSS

Bagaimana untuk melaksanakan pemuatan malas imej responsif menggunakan sifat CSS

Nov 18, 2023 am 08:12 AM
Responsif Malas memuatkan sifat css

Bagaimana untuk melaksanakan pemuatan malas imej responsif menggunakan sifat CSS

Cara melaksanakan pemuatan malas imej responsif menggunakan sifat CSS

Dalam pembangunan web, kita sering menghadapi situasi di mana sejumlah besar imej perlu dimuatkan terutamanya pada peranti mudah alih. Untuk meningkatkan kelajuan pemuatan halaman dan pengalaman pengguna, pemuatan imej yang malas telah menjadi kaedah pengoptimuman yang biasa.

Lazy loading bermaksud apabila halaman dimuatkan, hanya imej dalam kawasan yang boleh dilihat dimuatkan dan bukannya memuatkan semua imej pada keseluruhan halaman. Ini sangat mengurangkan masa yang diperlukan untuk pemuatan awal dan mengelakkan pembaziran lebar jalur yang tidak perlu.

Dalam artikel ini, kami akan memperkenalkan kaedah menggunakan sifat CSS untuk mencapai pemuatan malas imej responsif, yang boleh digunakan pada pelbagai saiz skrin dan peranti.

Pertama, kita perlu menentukan imej yang perlu malas dimuatkan dalam HTML. Di sini kami menggunakan elemen <img class="lazy-image lazy" src="/static/imghw/default1.png" data-src="image.jpg" alt="Bagaimana untuk melaksanakan pemuatan malas imej responsif menggunakan sifat CSS" > dan menetapkan atribut tersuai data-src untuk menyimpan URL sebenar imej. <img class="lazy-image lazy" src="/static/imghw/default1.png" data-src="image.jpg" alt="Bagaimana untuk melaksanakan pemuatan malas imej responsif menggunakan sifat CSS" >元素,并设置一个自定义的属性data-src来存储图像的实际URL。

<img class="lazy-image lazy" src="/static/imghw/default1.png" data-src="image.jpg" data- alt="Image">
Salin selepas log masuk

接下来,我们需要编写CSS样式来隐藏初始的图像,并通过使用background-size属性设置图像的背景图片。

.lazy-image {
  background-image: url(placeholder.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
Salin selepas log masuk

在上面的代码中,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;
  }
}
Salin selepas log masuk

在上述代码中,我们使用@media指令将屏幕宽度分为两个范围:大于等于1024px和小于1024px。对于大屏幕设备,我们立即加载图像,将background-image设置为none。对于小屏幕设备,我们将.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);
});
Salin selepas log masuk

上述代码中,我们使用document.querySelectorAll获取所有带有.lazy-image类的元素,并定义一个lazyLoad函数来判断图像是否在可见区域内,如果是则加载图像。

最后,我们将lazyLoadrrreee

Seterusnya, kita perlu menulis gaya CSS untuk menyembunyikan imej awal dan menetapkan imej latar belakang imej dengan menggunakan sifat saiz latar belakang.

rrreee

Dalam kod di atas, placeholder.jpg ialah imej pemegang tempat yang digunakan untuk memaparkan sehingga imej sebenar dimuatkan. #🎜🎜##🎜🎜#Kemudian, kami menggunakan atribut CSS @media untuk menentukan gaya berbeza untuk saiz skrin yang berbeza. #🎜🎜#rrreee#🎜🎜#Dalam kod di atas, kami menggunakan arahan @media untuk membahagikan lebar skrin kepada dua julat: lebih besar daripada atau sama dengan 1024px dan kurang daripada 1024px. Untuk peranti skrin besar, kami memuatkan imej dengan serta-merta, menetapkan background-image kepada none. Untuk peranti skrin kecil, kami menetapkan atribut visibility .lazy-image kepada hidden dan menetapkan data-src.lazy-image atribut /code> menetapkan atribut visibility kepada visible, supaya pemuatan malas imej boleh dicapai. #🎜🎜##🎜🎜#Akhir sekali, kita perlu menggunakan JavaScript untuk memuatkan imej sebenarnya. #🎜🎜#rrreee#🎜🎜#Dalam kod di atas, kami menggunakan document.querySelectorAll untuk mendapatkan semua elemen dengan kelas .lazy-image dan mentakrifkan Fungsi lazyLoad menentukan sama ada imej berada dalam kawasan yang boleh dilihat dan jika ya, memuatkan imej. #🎜🎜##🎜🎜#Akhir sekali, kami mengikat fungsi lazyLoad pada skrol penyemak imbas, perubahan saiz tetingkap dan peristiwa perubahan orientasi skrin supaya fungsi pemuatan dicetuskan apabila halaman menatal atau menukar saiz. #🎜🎜##🎜🎜#Di atas ialah kaedah dan contoh kod yang sepadan menggunakan sifat CSS untuk melaksanakan pemuatan malas imej responsif. Melalui kaedah ini, kami boleh mengoptimumkan kelajuan memuatkan halaman web, meningkatkan pengalaman pengguna, dan mengelakkan pembaziran lebar jalur yang tidak perlu. #🎜🎜#

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemuatan malas imej responsif menggunakan sifat CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah seni bina dan prinsip kerja Spring Data JPA? Apakah seni bina dan prinsip kerja Spring Data JPA? Apr 17, 2024 pm 02:48 PM

SpringDataJPA adalah berdasarkan seni bina JPA dan berinteraksi dengan pangkalan data melalui pemetaan, ORM dan pengurusan transaksi. Repositorinya menyediakan operasi CRUD, dan pertanyaan terbitan memudahkan akses pangkalan data. Selain itu, ia menggunakan pemuatan malas untuk hanya mendapatkan semula data apabila perlu, sekali gus meningkatkan prestasi.

Apakah maksud alur dalam css Apakah maksud alur dalam css Apr 28, 2024 pm 04:12 PM

Dalam CSS, alur mewakili gaya sempadan yang menghasilkan kesan seperti alur. Aplikasi khusus adalah seperti berikut: Gunakan gaya sempadan sifat CSS: alur berbentuk alur mempunyai tepi dalam yang cekung, tepi luar yang dinaikkan dan kesan bayangan.

Komponen sudut dan sifat paparannya: memahami lalai bukan blok Komponen sudut dan sifat paparannya: memahami lalai bukan blok Mar 15, 2024 pm 04:51 PM

Tingkah laku paparan lalai untuk komponen dalam rangka kerja Angular bukan untuk elemen peringkat blok. Pilihan reka bentuk ini menggalakkan pengkapsulan gaya komponen dan menggalakkan pembangun untuk secara sedar menentukan cara setiap komponen dipaparkan. Dengan menetapkan paparan sifat CSS secara eksplisit, paparan komponen Sudut boleh dikawal sepenuhnya untuk mencapai reka letak dan responsif yang diingini.

Petua pengoptimuman prestasi Java JPA: buat aplikasi anda terbang Petua pengoptimuman prestasi Java JPA: buat aplikasi anda terbang Feb 19, 2024 pm 09:03 PM

Kata kunci artikel: Pengoptimuman prestasi JavaJPA Pengurusan entiti ORM JavaJPA (JavaPersistance API) ialah rangka kerja pemetaan hubungan objek (ORM) yang membolehkan anda menggunakan objek Java untuk mengendalikan data dalam pangkalan data. JPA menyediakan API bersatu untuk berinteraksi dengan pangkalan data, membolehkan anda menggunakan kod yang sama untuk mengakses pangkalan data yang berbeza. Selain itu, JPA juga menyokong ciri seperti pemuatan malas, caching dan pengesanan data kotor, yang boleh meningkatkan prestasi aplikasi. Walau bagaimanapun, jika digunakan secara tidak betul, prestasi JPA boleh menjadi halangan untuk permohonan anda. Berikut ialah beberapa masalah prestasi biasa: Masalah pertanyaan N+1: Apabila anda menggunakan pertanyaan JPQL dalam aplikasi anda, anda mungkin menghadapi masalah pertanyaan N+1. Dalam jenis ini

Apa yang perlu dilakukan jika imej html terlalu besar Apa yang perlu dilakukan jika imej html terlalu besar Apr 05, 2024 pm 12:24 PM

Berikut ialah beberapa cara untuk mengoptimumkan imej HTML yang terlalu besar: Optimumkan saiz fail imej: Gunakan alat pemampatan atau perisian penyuntingan imej. Gunakan pertanyaan media: Ubah saiz imej secara dinamik berdasarkan peranti. Laksanakan pemuatan malas: hanya muatkan imej apabila ia memasuki kawasan yang boleh dilihat. Gunakan CDN: Edarkan imej kepada berbilang pelayan. Gunakan pemegang tempat imej: Paparkan imej pemegang tempat semasa imej sedang dimuatkan. Gunakan lakaran kenit: Memaparkan versi imej yang lebih kecil dan memuatkan imej bersaiz penuh pada klik.

Penyahkodan kesesakan prestasi Laravel: Teknik pengoptimuman didedahkan sepenuhnya! Penyahkodan kesesakan prestasi Laravel: Teknik pengoptimuman didedahkan sepenuhnya! Mar 06, 2024 pm 02:33 PM

Penyahkodan kesesakan prestasi Laravel: Teknik pengoptimuman didedahkan sepenuhnya! Laravel, sebagai rangka kerja PHP yang popular, menyediakan pembangun dengan fungsi yang kaya dan pengalaman pembangunan yang mudah. Walau bagaimanapun, apabila saiz projek meningkat dan bilangan lawatan meningkat, kami mungkin menghadapi cabaran kesesakan prestasi. Artikel ini akan menyelidiki teknik pengoptimuman prestasi Laravel untuk membantu pembangun menemui dan menyelesaikan masalah prestasi yang berpotensi. 1. Pengoptimuman pertanyaan pangkalan data menggunakan pemuatan tertunda Eloquent Apabila menggunakan Eloquent untuk menanya pangkalan data, elakkan

Bagaimanakah Hibernate mengoptimumkan prestasi pertanyaan pangkalan data? Bagaimanakah Hibernate mengoptimumkan prestasi pertanyaan pangkalan data? Apr 17, 2024 pm 03:00 PM

Petua untuk mengoptimumkan prestasi pertanyaan Hibernate termasuk: menggunakan pemuatan malas untuk menangguhkan pemuatan koleksi dan objek yang berkaitan untuk menggabungkan operasi kemas kini, memadam atau memasukkan menggunakan cache peringkat kedua untuk menyimpan objek yang sering ditanya dalam ingatan; , dapatkan semula entiti dan entiti yang berkaitan dengannya untuk mengelakkan mod pertanyaan SELECTN+1 untuk mendapatkan data besar dalam blok untuk meningkatkan prestasi pertanyaan tertentu;

Bagaimana untuk menghalang acara pemuatan iframe Bagaimana untuk menghalang acara pemuatan iframe Feb 19, 2024 am 08:02 AM

Bagaimana untuk mengelakkan peristiwa pemuatan iframe Dalam pembangunan web, kami sering menggunakan tag iframe untuk membenamkan halaman web atau kandungan lain. Secara lalai, apabila penyemak imbas memuatkan iframe, peristiwa pemuatan dicetuskan. Walau bagaimanapun, dalam beberapa kes, kami mungkin mahu menangguhkan pemuatan iframe atau menghalang acara pemuatan sepenuhnya. Dalam artikel ini, kami akan meneroka cara untuk mencapai ini melalui contoh kod. 1. Tangguhkan pemuatan iframe Jika anda ingin melengahkan pemuatan iframe, kami boleh gunakan

See all articles