이미지가 가져야 할 3가지 속성!

내용물


  • Intro
  • Images
  • Background Images
  • Summary

  • 소개

    They say a picture tells a thousand words. It certainly costs a thousand words when it comes to performance!
    Images tend to be quite large files, so take a while to load. They also block rendering so they have to complete before content further down the page can load.

    But there is hope! We can make images lazy and get out the way of the rest of the page with some simple attributes!

    First thing first, make sure your images are as small as possible in the first case. I'd highly recommend Squoosh 이미지 크기를 최적화하는 데 사용할 수 있는 Chrome 팀.

    파일 형식을 변경하는 것만으로 파일 크기를 최대 26%까지 절약할 수 있는 webp과 같은 보다 현대적인 형식으로 변환하세요!! Webp는 fairly good browsers support now too .

    이미지

    Here's a current image on a website:

    <img src="some_image_file.png" />
    

    We can improve the loading of this image with a few attributes, like so:

    <img src="some_image_file.png" loading="lazy" decoding="async" alt="A Description of the image" />
    

    Easy!!

    Lets dig into those attributes.

    로딩 중



    wide browser support now 가 있고 브라우저에서 지원하지 않으면 무시되므로 추가하지 않을 이유가 없습니다!
    eager 또는 lazy 값을 가질 수 있습니다.
    Eager는 기본값입니다. 즉, 사용자가 현재 이미지를 볼 수 있는지 여부에 관계없이 즉시 이미지를 로드합니다.
    Lazy를 사용하면 브라우저가 이미지를 로드할 시기를 결정할 수 있으며, 이는 사용자가 콘텐츠에 더 가까이 있을 때 수행됩니다. 즉, 전체 이미지 페이지를 즉시 로드할 필요가 없으며 즉시 볼 수 있는 이미지만 로드할 수 있습니다.

    디코딩



    supported across all browsers 입니다.
    이렇게 하면 브라우저에서 이미지를 동기식으로 또는 비동기식으로 디코딩하는 방법에 대한 힌트를 얻을 수 있습니다. 나머지 콘텐츠를 방해하거나 방해하지 않습니다.

    Alt



    이것은 로딩 성능에 영향을 미치지 않습니다. 그러나 그것을 사용하십시오! 🙏
    추가하는 데 거의 노력이 필요하지 않으며 사이트에 더 쉽게 액세스할 수 있습니다!
    가치를 알아내는 가장 좋은 방법은 전화로 친구에게 이미지를 설명하고 있다고 상상하는 것입니다. 어떻게 하시겠습니까?
    이것이 바로 화면 판독기에서 alt 속성이 작동하는 방식이므로 사용하십시오!

    배경 이미지

    Background images are a bit more tricky to be lazy loading.

    Firstly I would really try not to use background images as they aren't great for accessibility , 따라서 가능하면 일반 이미지 요소를 사용하십시오.

    정상적인 이미지를 절대 사용할 수 없는 경우. 그런 다음 JavaScript를 사용하여 뷰포트에 가까울 때만 이미지를 표시해야 합니다.

    이것은 Intersection Observer 을 사용하여 달성할 수 있으며 web.dev site 이미지 요소를 절대적으로 사용할 수 없는 경우 권장하는 좋은 예가 있습니다.

    요약

    In summary, these 3 attributes improve the performance of your website with minimal effort!
    There is no browser support issues or any reason not to use them, so add them to your images now!

    These attributes also work is you are using a picture element, just set them on the image element as normal.
    Here's an example of using a picture element for switching images based on dark mode or not.

    <picture>
        <source srcset="/images/linkedin-white.webp" media="(prefers-color-scheme: dark)" />
        <img class="linkedin" src="/images/linkedin.webp" alt="LinkedIn Profile" loading="lazy" decoding="async" />
    </picture>
    

    They also work is you are using a image element, with multiple sized images via srcset attribute.

    Add these 3 simple attributes to your images right now!

    Happy Building!

    좋은 웹페이지 즐겨찾기