CSS 속성을 사용하여 반응형 이미지 지연 로딩을 구현하는 방법
웹 개발 시, 특히 모바일 장치에서 많은 수의 이미지를 로드해야 하는 상황에 자주 직면하게 됩니다. 페이지 로딩 속도와 사용자 경험을 향상시키기 위해 이미지 지연 로딩이 일반적인 최적화 방법이 되었습니다.
지연 로딩은 페이지가 로드될 때 전체 페이지의 모든 이미지를 로드하는 대신 보이는 영역의 이미지만 로드한다는 의미입니다. 이는 초기 로딩에 필요한 시간을 크게 줄이고 불필요한 대역폭 낭비를 방지합니다.
이번 글에서는 CSS 속성을 이용하여 다양한 화면 크기와 기기에 적용할 수 있는 반응형 이미지 레이지 로딩을 구현하는 방법을 소개하겠습니다.
먼저 HTML에서 지연 로드해야 하는 이미지를 정의해야 합니다. 여기서는 <img class="lazy-image lazy" src="/static/imghwm/default1.png" data-src="image.jpg" alt="CSS 속성을 사용하여 반응형 이미지의 지연 로딩을 구현하는 방법" >
요소를 사용하고 사용자 정의 속성 data-src
를 설정하여 이미지의 실제 URL을 저장합니다. <img class="lazy-image lazy" src="/static/imghwm/default1.png" data-src="image.jpg" alt="CSS 속성을 사용하여 반응형 이미지의 지연 로딩을 구현하는 방법" >
元素,并设置一个自定义的属性data-src
来存储图像的实际URL。
<img class="lazy-image lazy" src="/static/imghwm/default1.png" data-src="image.jpg" data- alt="Image">
接下来,我们需要编写CSS样式来隐藏初始的图像,并通过使用background-size
属性设置图像的背景图片。
.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。对于大屏幕设备,我们立即加载图像,将background-image
设置为none
。对于小屏幕设备,我们将.lazy-image
的visibility
属性设置为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
rrreee
background-size
속성을 사용하여 초기 이미지를 숨기고 이미지의 배경을 설정하는 CSS 스타일을 작성해야 합니다. rrreee
위 코드에서placeholder.jpg
는 실제 이미지가 로드될 때까지 표시하는 데 사용되는 자리 표시자 이미지입니다. 🎜🎜그런 다음 CSS 속성 @media
를 사용하여 다양한 화면 크기에 맞는 다양한 스타일을 정의합니다. 🎜rrreee🎜위 코드에서는 @media
지시문을 사용하여 화면 너비를 1024px 이상과 1024px 미만의 두 범위로 나눕니다. 대형 화면 장치의 경우 이미지를 즉시 로드하고 Background-image
를 none
으로 설정합니다. 작은 화면 장치의 경우 .lazy-image
의 visibility
속성을 hidden
으로 설정하고 data-src 속성의 <code>.lazy-image
요소는 visibility
속성을 visible
로 설정하여 이미지 지연 로딩을 달성할 수 있습니다. 🎜🎜마지막으로 실제로 이미지를 로드하려면 JavaScript를 사용해야 합니다. 🎜rrreee🎜위 코드에서는 document.querySelectorAll
을 사용하여 .lazy-image
클래스가 있는 모든 요소를 가져오고 lazyLoad
함수를 정의했습니다. 이미지가 가시 영역 내에 있는지 확인하려면 이미지를 로드하십시오. 🎜🎜마지막으로 lazyLoad
함수를 브라우저 스크롤, 창 크기 변경 및 화면 방향 변경 이벤트에 바인딩하여 페이지가 스크롤되거나 크기가 변경될 때 로딩 기능이 트리거되도록 합니다. 🎜🎜위는 CSS 속성을 사용하여 반응형 이미지의 지연 로딩을 구현하는 방법 및 해당 코드 예제입니다. 이 방법을 통해 웹 페이지 로딩 속도를 최적화하고, 사용자 경험을 개선하며, 불필요한 대역폭 낭비를 피할 수 있습니다. 🎜위 내용은 CSS 속성을 사용하여 반응형 이미지의 지연 로딩을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

React Ecosystem은 모두 드래그 앤 드롭의 상호 작용에 중점을 둔 많은 라이브러리를 제공합니다. 우리는 React-dnd, React-beautiful-dnd를 가지고 있습니다.

나는 자주 배경 클립을 사용한다고 말할 수 없습니다. I ' D WART IT IT는 일상적인 CSS 작업에서 거의 사용되지 않았습니다. 그러나 나는 Stefan Judis의 게시물에서 그것을 상기시켰다.

requestAnimationFrame을 사용하여 애니메이션은 쉬워야하지만 React의 문서를 철저히 읽지 않으면 몇 가지 문제가 발생할 수 있습니다.

아마도이를 사용자에게 제공하는 가장 쉬운 방법은 요소의 ID를 대상으로하는 링크 일 것입니다. 그래서 ...처럼 ...

들어보세요, 나는 GraphQL 전문가가 아니지만 함께 일하는 것을 좋아합니다. 프론트 엔드 개발자로서 데이터를 노출시키는 방법은 꽤 멋지다. 메뉴와 같습니다

이번 주에 타이포그래피를 검사하기위한 편리한 북마크 인 Roundup, JavaScript 모듈과 Facebook의 Facebook 등을 어떻게 가져 오는지 땜질하기 위해 대기하는 편리한 북마크 인 Roundup과 Facebook의


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Dreamweaver Mac版
시각적 웹 개발 도구
