<img>
Obraz osadzony na stronie.
- Wyświetlanie
- inline (element zastępowany)
- Znacznik zamykający
- Brak, element pusty
- Dozwolona zawartość
- Brak, element pusty
Przykład
#<img
src="/collections/covers/jak-zostac-programista.webp"
alt="Osoba z plecakiem idzie ścieżką w stronę miasta o zmierzchu"
width="320"
height="213"
>Definicja i zastosowanie
#Element <img> wstawia obraz. Jest elementem pustym (nie ma znacznika zamykającego), a o tym, co wyświetlić, decyduje atrybut src. Obsługiwane formaty to między innymi JPEG, PNG, GIF, SVG, WebP i AVIF.
Atrybut alt jest obowiązkowy. To tekst, który czytnik ekranu przeczyta zamiast obrazu i który pojawi się, gdy grafika się nie wczyta. Dla obrazów czysto dekoracyjnych zostaw go pustym (alt=""), wtedy technologie asystujące go pominą.
Podawaj zawsze width i height. Przeglądarka rezerwuje wtedy miejsce na obraz, zanim ten się pobierze, i treść strony nie skacze podczas ładowania. Rozmiar wyświetlania i tak możesz potem zmienić w CSS.
Składnia
#<img src="adres-obrazu" alt="opis obrazu" width="…" height="…">Atrybuty
#URL
Adres pliku z obrazem. To jedyny atrybut, bez którego obraz w ogóle się nie wyświetli.tekst
Tekst alternatywny. Opisz, co jest na obrazie i po co tam jest. Gdy plik się nie wczyta, zobaczysz właśnie ten tekst, tak jak w przykładzie z błędnym adresem.liczba pikseli
Wewnętrzne wymiary obrazu w pikselach, bez jednostki. Dzięki nim przeglądarka zna proporcje obrazu przed pobraniem i nie przesuwa treści.eager | lazy
lazyodkłada pobieranie obrazu, aż znajdzie się blisko widocznej części strony. To prosta oszczędność transferu dla obrazów poniżej pierwszego ekranu. Obrazu widocznego od razu po wejściu nie oznaczaj jakolazy.lista adresów z szerokością lub gęstością
Zestaw wersji tego samego obrazu w różnych rozmiarach. Przeglądarka wybierze najlepszą dla ekranu, na przykładobraz-2x.png 2xdla ekranów o wysokiej gęstości pikseli.sizes
lista warunków i szerokości
Działa razem zsrcsetopartym na szerokościach (800w). Mówi przeglądarce, jak szeroki będzie obraz na stronie w zależności od szerokości okna, na przykład(min-width: 768px) 50vw, 100vw.decoding
sync | async | auto
Wskazówka, czy dekodowanie obrazu może odbyć się niezależnie od reszty strony.asyncpozwala wyświetlić treść bez czekania na obraz.fetchpriority
high | low | auto
Podpowiada, jak pilne jest pobranie obrazu.highwarto nadać głównemu obrazowi na górze strony, żeby szybciej się pojawił.
Element obsługuje też wszystkie atrybuty globalne, takie jak class, id, style czy hidden.
Atrybuty w praktyce
#src
URLAdres pliku z obrazem. To jedyny atrybut, bez którego obraz w ogóle się nie wyświetli.
<img src="/collections/covers/vibe-coding.webp" alt="Programista w słuchawkach przed monitorem" width="240" height="160">alt
tekstTekst alternatywny. Opisz, co jest na obrazie i po co tam jest. Gdy plik się nie wczyta, zobaczysz właśnie ten tekst, tak jak w przykładzie z błędnym adresem.
<img src="data:," alt="Wykres wzrostu liczby uczniów w 2026 roku" width="240" height="120">width / height
liczba pikseliWewnętrzne wymiary obrazu w pikselach, bez jednostki. Dzięki nim przeglądarka zna proporcje obrazu przed pobraniem i nie przesuwa treści.
<img src="/collections/covers/python-czy-javascript.webp" alt="Dwa biurka: analiza danych i projektowanie stron" width="180" height="120">
<img src="/collections/covers/python-czy-javascript.webp" alt="" width="90" height="60">loading
eager | lazylazy odkłada pobieranie obrazu, aż znajdzie się blisko widocznej części strony. To prosta oszczędność transferu dla obrazów poniżej pierwszego ekranu. Obrazu widocznego od razu po wejściu nie oznaczaj jako lazy.
<img src="/collections/covers/darmowa-nauka-programowania.webp" alt="Biblioteka nocą" width="240" height="160" loading="lazy">srcset
lista adresów z szerokością lub gęstościąZestaw wersji tego samego obrazu w różnych rozmiarach. Przeglądarka wybierze najlepszą dla ekranu, na przykład obraz-2x.png 2x dla ekranów o wysokiej gęstości pikseli.
<img
src="/collections/covers/kurs-html-css-od-podstaw.webp"
srcset="/collections/covers/kurs-html-css-od-podstaw.webp 1x, /collections/covers/kurs-html-css-od-podstaw.webp 2x"
alt="Ściana świątyni ułożona jak układ strony internetowej"
width="240"
height="160"
>Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- Opis w
altpisz tak, jakbyś opowiadał komuś obraz przez telefon. Nie zaczynaj od „obraz przedstawia”. - Zdjęcia zapisuj w WebP lub AVIF, są zwykle o połowę lżejsze niż JPEG przy tej samej jakości.
- Obraz z podpisem umieść w
<figure>razem z<figcaption>.
Powiązane hasła
#- <picture>Kontener na kilka wersji obrazu. Przeglądarka wybiera tę, która najlepiej pasuje do ekranu i formatu.
- <figure>Samodzielna ilustracja z opcjonalnym podpisem: obraz, wykres, fragment kodu, cytat.
- <figcaption>Podpis ilustracji w elemencie `<figure>`.
- <source>Alternatywne źródło obrazu, dźwięku lub wideo dla `<picture>`, `<audio>` i `<video>`.
- onloadUruchamia kod JavaScript, gdy zasób skończy się wczytywać: cała strona, obraz, ramka, skrypt albo arkusz stylów.
Widzisz błąd albo brakuje przykładu? Napisz do nas.