Obrazy w HTML i obrazy tła w CSS

Obrazy HTML a obrazy tła CSS: kiedy używać którego | We.Inc

Wybierz między <img> a background-image, pisz tekst alt, zapobiegaj przesunięciom układu, buduj srcset i sizes, ładuj leniwie i serwuj WebP lub AVIF za pomocą <picture>.

Obrazy w HTML i obrazy tła w CSS

Używaj <img>, gdy obraz jest treścią: zdjęciem produktu, wykresem, portretem. Nadaj mu tekst alt, szerokość i wysokość. Używaj CSS background-image, gdy obraz jest dekoracją za tekstem. Dodaj srcset i sizes, aby telefony pobierały mniejsze pliki, oraz loading="lazy" dla obrazów poniżej pierwszego ekranu, nigdy dla obrazu hero.

<img> czy background-image?

Tabela decyzyjna, generator srcset pokazujący, który plik pobrałby telefon lub laptop, oraz edytowalne przykłady każdego wzorca: tekst alt, stałe wymiary, leniwe ładowanie, szybki obraz hero, przycinanie przez object-fit obok background-size, nowoczesne formaty z <picture> i responsywne tła z image-set().

Najczęściej zadawane pytania

Czy background-image szkodzi SEO?

Wyszukiwarki znacznie pewniej indeksują obrazy w elementach <img> niż te ustawione w CSS. Jeśli chcesz, aby obraz pojawiał się w wyszukiwarce grafik lub opisywał Twoją treść, umieść go w <img> z dobrym tekstem alt. Tła dekoracyjne nic nie tracą na tym, że są w CSS.

Co powinien mówić tekst alt?

Opisz krótkim zdaniem to, co obraz pokazuje i co ma znaczenie w danym kontekście. Przy zdjęciu produktu może to być produkt i jego kolor; przy wykresie główny wniosek. Pomiń zwroty typu obraz przedstawiający. Jeśli obraz jest linkiem, opisz, dokąd prowadzi link.

Czym różni się srcset z w od srcset z x?

Deskryptory szerokości (480w, 960w) podają rzeczywistą szerokość każdego pliku i pozwalają przeglądarce wybrać na podstawie atrybutu sizes i gęstości pikseli ekranu. Deskryptory gęstości (1x, 2x) pasują do obrazów zawsze wyświetlanych w jednym stałym rozmiarze, na przykład logo.

Czy nadal używać loading="lazy", jeśli korzystam z frameworka?

Natywne leniwe ładowanie działa we wszystkich obecnych głównych przeglądarkach, więc dla większości obrazów wystarczy zwykły atrybut. Komponenty obrazów we frameworkach często dodają go za Ciebie; sprawdź, czy nie ładują leniwie także obrazu hero.

Czy potrzebuję zarówno WebP, jak i AVIF?

Nie zawsze. Oba formaty są obsługiwane przez obecne główne przeglądarki. AVIF jest często mniejszy dla zdjęć, ale wolniej się koduje. Element <picture> ze źródłem AVIF, źródłem WebP i fallbackiem JPEG obsłuży każdego, ale sam WebP z fallbackiem JPEG to rozsądny, prostszy wybór.

Treść czy dekoracja

Jak przeglądarka wybiera z srcset

Przesunięcia układu i obraz hero

Kompletny <img>

alt, width, height i leniwe ładowanie

Atrybuty podają rzeczywisty rozmiar; CSS czyni obraz płynnym. Dzięki width i height pole jest zarezerwowane, zanim plik się załaduje. Obrazy w demie to małe wbudowane pliki SVG.

Obraz hero: ładowany natychmiast i z wysokim priorytetem

Użyj tego dla jednego dużego obrazu na górze strony. Wszystko poniżej pierwszego ekranu dostaje zamiast tego loading="lazy".

Zasady tekstu alt

Tekst alt według typu obrazu

object-fit: cover obok background-size: cover

Oba przycinają obraz, aby wypełnił pole bez rozciągania. object-position i background-position wybierają, która część pozostaje widoczna.

To samo przycięcie na dwa sposoby

Po lewej jest <img> z object-fit; po prawej div z tłem. Wyglądają tak samo; tylko lewy ma tekst alt i leniwe ładowanie.

Obrazy tła w CSS

Tło za tekstem z kolorem zapasowym

Ciemny gradient nakładki utrzymuje czytelność białego tekstu na dowolnym zdjęciu, a kolor tła pojawia się, jeśli obraz się nie załaduje.

Responsywne tła z image-set()

image-set() pozwala przeglądarce wybierać według gęstości pikseli lub typu pliku. Dla starszych przeglądarek zostaw na początku zwykłą linię url().

WebP i AVIF z <picture>

Nowoczesne formaty z fallbackiem JPEG

Przeglądarka używa pierwszego <source>, którego typ obsługuje. <img> w środku niesie tekst alt, rozmiar i plik zapasowy i to jego stylizujesz.

Generator srcset i sizes

Eksportowane szerokości (px)

Ścieżka pliku bez szerokości

Rozszerzenie

Jak szeroko rysowany jest obraz?

Wpisz co najmniej jedną szerokość.

Kopiuj

Który plik pobrałoby urządzenie?

Mały telefon

Duży telefon

Tablet

Laptop

Laptop z ekranem Retina

Szerokość ekranu: {vw}px

Gęstość pikseli: {dpr}x

Obraz jest rysowany na szerokość {slot}px, więc przeglądarka potrzebuje około {px} pikseli urządzenia i zwykle pobrałaby

na razie nic

(największy plik, mniejszy niż idealny: rozważ wyeksportowanie szerszego)

Przeglądarki mogą wybrać mniejszy plik przy wolnym łączu albo większy, który mają już w cache; tutaj pokazany jest typowy wybór.

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony