Wstawianie obrazków na stronę internetową to jedna z podstawowych umiejętności w świecie HTML. Dla początkujących może wydawać się to nieco skomplikowane, ale zapewniam, że z moimi praktycznymi instrukcjami i gotowymi przykładami kodu szybko opanujesz tę sztukę. To klucz do tworzenia atrakcyjnych i funkcjonalnych witryn, które przyciągają uwagę użytkowników.
Łatwe wstawianie obrazków w HTML kluczowe atrybuty i praktyczne wskazówki dla początkujących
- Do umieszczania obrazków w HTML służy samodomykający się znacznik `
`.
- Niezbędne atrybuty to `src` (ścieżka do pliku) i `alt` (tekst alternatywny dla SEO i dostępności).
- Ścieżki do plików mogą być względne (dla zasobów na własnym serwerze) lub bezwzględne (pełny URL).
- Poprawny tekst `alt` jest kluczowy dla widoczności w wyszukiwarkach i dla osób korzystających z czytników ekranu.
- Atrybuty `width` i `height` pomagają przeglądarce zarezerwować miejsce, zapobiegając "skakaniu" strony.
- Atrybut `loading="lazy"` przyspiesza ładowanie strony, odraczając wczytywanie obrazków poza widocznym obszarem.
Obrazy są nieodłącznym elementem każdej nowoczesnej strony internetowej. To właśnie one w dużej mierze odpowiadają za estetykę, pomagają w przekazywaniu informacji i znacząco zwiększają zaangażowanie użytkowników. Ale ich rola nie kończy się na wizualnej atrakcyjności. Odpowiednio użyte, mają ogromne znaczenie dla optymalizacji pod kątem wyszukiwarek (SEO) oraz dla dostępności, zwłaszcza dzięki atrybutowi `alt`, o którym opowiem szczegółowo.
Podstawowym elementem, który pozwala nam wstawić obrazek na stronę, jest znacznik `src (od "source", czyli źródło) i alt (od "alternative", czyli alternatywny). Oba są obowiązkowe i bez nich obrazek albo się nie wyświetli, albo strona będzie miała problemy z dostępnością i SEO. Atrybut src jest sercem znacznika ``, ponieważ to właśnie on wskazuje przeglądarce, gdzie ma znaleźć plik graficzny do wyświetlenia. Możemy wyróżnić dwa główne typy ścieżek, które możesz tutaj zastosować: ścieżki względne i ścieżki bezwzględne. Od ich poprawnego zastosowania zależy, czy Twój obrazek w ogóle się pojawi.
Ścieżka względna jest najczęściej stosowaną i zalecaną metodą, gdy obrazki znajdują się na Twoim własnym serwerze, w ramach tego samego projektu. Odnosi się ona do lokalizacji pliku graficznego względem aktualnie przeglądanego dokumentu HTML. Przykładowo, jeśli masz folder `obrazy` w tym samym katalogu co plik HTML, możesz użyć `src="obrazy/logo.png"`. Jeśli obrazek jest w folderze `zdjecia`, który jest jeden poziom wyżej niż Twój aktualny folder, użyjesz `src="../zdjecia/foto.jpg"`. To bardzo elastyczne i wygodne rozwiązanie.
Z kolei ścieżka bezwzględna to pełny adres URL do obrazka, zaczynający się od protokołu (np. `http://` lub `https://`). Jest to konieczne, gdy chcesz wstawić obrazek z zewnętrznego źródła, na przykład z innej strony internetowej. Przykładem może być: src="https://www.przykladowastrona.pl/obrazy/logo.png". Pamiętaj jednak, że korzystanie z obrazków z innych stron niesie ze sobą pewne ryzyka, takie jak hotlinking (wykorzystywanie cudzych zasobów bez zgody) czy ryzyko, że obrazek po prostu zniknie, jeśli jego źródło zostanie usunięte.
Atrybut alt, czyli tekst alternatywny, jest absolutnie kluczowy, choć często niedoceniany. Jego zawartość jest wyświetlana, gdy z jakiegoś powodu obrazek się nie załaduje na przykład z powodu problemów z siecią, błędnej ścieżki lub gdy użytkownik ma wyłączone wyświetlanie grafik. Co ważniejsze, jest on czytany przez czytniki ekranu, z których korzystają osoby niewidome lub niedowidzące, zapewniając im dostęp do treści wizualnych.
Dlaczego tekst alternatywny jest tak ważny? Po pierwsze, dla SEO. Wyszukiwarki internetowe, takie jak Google, nie potrafią "widzieć" obrazków. Tekst alternatywny dostarcza im informacji o tym, co znajduje się na zdjęciu, co pomaga w indeksowaniu i pozycjonowaniu obrazów w wynikach wyszukiwania. Po drugie, dla dostępności. Jak wspomniałem, to dzięki niemu osoby z niepełnosprawnościami wzroku mogą zrozumieć kontekst i treść wizualną. Jest to jeden z wymogów standardów WCAG (Web Content Accessibility Guidelines), które promują tworzenie stron dostępnych dla wszystkich.
Tworzenie efektywnych tekstów alternatywnych to sztuka, ale mam dla Ciebie kilka wskazówek. Przede wszystkim, tekst powinien być zwięzły i trafny. Opisz zawartość obrazka w sposób jasny i konkretny, tak aby osoba, która go nie widzi, mogła zrozumieć jego sens. Unikaj nadmiernego upychania słów kluczowych to nie tylko nieefektywne, ale może zostać uznane za spam przez wyszukiwarki. Pomyśl o tym, co najważniejsze na obrazku i to właśnie przekaż.
- Bądź konkretny: Zamiast "pies", napisz "Złoty retriever aportujący piłkę".
- Bądź zwięzły: Staraj się zmieścić w kilku słowach, unikając zbędnych detali.
- Unikaj "obrazek przedstawia": Jest to redundantne, czytniki ekranu już wiedzą, że to obrazek.
- Pamiętaj o kontekście: Opis powinien pasować do treści otaczającej obrazek.
Oto prosty przykład, jak wstawić obrazek z użyciem ścieżki względnej i atrybutu `alt`. Załóżmy, że masz plik `moj-obrazek.jpg` w folderze `img`, który znajduje się w tym samym katalogu co Twój plik HTML:

W tym kodzie, znacznik informuje przeglądarkę, że ma wstawić obrazek. Atrybut src="img/moj-obrazek.jpg" wskazuje ścieżkę do pliku graficznego w tym przypadku, obrazek o nazwie "moj-obrazek.jpg" znajduje się w podkatalogu "img". Natomiast alt="Puszysty kot leżący na słonecznym parapecie" to tekst alternatywny, który zostanie wyświetlony, jeśli obrazek się nie załaduje, lub zostanie odczytany przez czytnik ekranu. Proste, prawda?
Jednym z najczęstszych problemów, z którymi spotykają się początkujący, jest sytuacja, gdy obrazki po prostu się nie wyświetlają. Zazwyczaj nie jest to nic poważnego, a w większości przypadków problem leży w błędnie podanej ścieżce do pliku lub literówce w nazwie pliku. Spokojnie, to zdarza się nawet doświadczonym deweloperom!
Zawsze, ale to zawsze, upewnij się, że nazwa pliku w atrybucie src jest identyczna z rzeczywistą nazwą pliku na serwerze. To samo dotyczy rozszerzenia pliku (np. `.jpg`, `.png`, `.gif`). Pamiętaj, że systemy operacyjne, a co za tym idzie, serwery, mogą być wrażliwe na wielkość liter. Na przykład, `Obrazek.jpg` to dla serwera zupełnie inny plik niż `obrazek.jpg`. Mała literówka, a obrazek nie pojawi się na stronie. Na przykład, jeśli masz plik `moje_zdjecie.JPG`, a w kodzie wpiszesz `moje_zdjecie.jpg`, obrazek może się nie załadować.
Problemy ze ścieżkami względnymi są szczególnie podstępne. Musisz dokładnie rozumieć, gdzie znajduje się Twój plik HTML w stosunku do obrazka. Jeśli plik HTML jest w katalogu głównym, a obrazek w podkatalogu `assets/img`, ścieżka będzie `src="assets/img/nazwa.png"`. Jeśli Twój plik HTML jest w `strony/kontakt.html`, a obrazek w `assets/img/nazwa.png` (na tym samym poziomie co folder `strony`), musisz użyć `src="../assets/img/nazwa.png"` `../` oznacza "idź jeden poziom w górę". Błędne użycie `../` lub jego brak to bardzo częsty błąd.
Rzadziej, ale jednak, możesz napotkać problemy związane z uprawnieniami do pliku na serwerze upewnij się, że plik graficzny ma odpowiednie uprawnienia odczytu. Innym problemem może być blokada hotlinkowania, jeśli próbujesz linkować obrazek z zewnętrznego źródła. Niektóre strony celowo blokują wyświetlanie swoich obrazków na innych domenach, aby oszczędzać przepustowość serwera. W takich przypadkach obrazek po prostu się nie załaduje.

Kontrola nad wyglądem obrazka
Poza podstawowymi atrybutami, często chcemy mieć kontrolę nad rozmiarem wyświetlanego obrazka. Do tego służą atrybuty width i height, które pozwalają określić szerokość i wysokość obrazka w pikselach. To bardzo przydatne, zwłaszcza gdy chcesz, aby obrazek miał konkretne wymiary, niezależnie od jego oryginalnego rozmiaru. Oto przykład:

Stosowanie atrybutów width i height ma kilka istotnych zalet. Przede wszystkim, pomaga przeglądarce zarezerwować odpowiednią przestrzeń na stronie jeszcze przed pełnym załadowaniem obrazka. Dzięki temu strona nie "skacze" podczas ładowania treści, co jest znane jako Cumulative Layout Shift (CLS) czynnik, który negatywnie wpływa na doświadczenia użytkownika i jest brany pod uwagę przez algorytmy Google. Poprawia to również ogólną wydajność ładowania strony.
Centrowanie obrazka to częsta potrzeba. Najprostsze metody wykorzystują CSS. Jeśli obrazek jest elementem blokowym (co często osiąga się, dodając mu styl `display: block;`), możesz go wyśrodkować za pomocą `margin: 0 auto;`. Jeśli obrazek jest elementem liniowym, a chcesz wyśrodkować go w kontenerze, możesz zastosować `text-align: center;` do elementu nadrzędnego. Oto przykłady:
/* Centrowanie obrazka jako elementu blokowego */
img { display: block; margin: 0 auto;
} /* Centrowanie obrazka w kontenerze za pomocą text-align */
.kontener { text-align: center;
}

Nowoczesne techniki HTML5
W dzisiejszych czasach, gdy wydajność strony jest kluczowa, HTML5 wprowadził atrybut loading="lazy", który znacząco przyspiesza ładowanie strony. Czym jest lazy loading? To technika, która odracza wczytywanie obrazków (i innych zasobów) do momentu, gdy znajdą się one w widocznym obszarze ekranu użytkownika. Obrazki, które są poza widokiem, nie są ładowane od razu, co oszczędza przepustowość i zasoby. Wystarczy dodać ten atrybut do znacznika ``:

Kolejnym ważnym aspektem nowoczesnego tworzenia stron są obrazki responsywne. W dobie smartfonów, tabletów i monitorów o różnych rozdzielczościach, musimy zadbać o to, aby nasze obrazy wyglądały dobrze i ładowały się efektywnie na każdym urządzeniu. Dostarczanie tej samej, dużej grafiki na mały ekran telefonu to marnotrawstwo zasobów i spowalnianie strony. Dlatego właśnie obrazki responsywne są tak ważne dostosowują się do rozmiaru i rozdzielczości ekranu użytkownika.
Do tworzenia responsywnych obrazków służy atrybut srcset w znaczniku ``. Pozwala on przeglądarce wybrać najbardziej odpowiednią wersję obrazka spośród kilku dostępnych, w zależności od rozdzielczości ekranu, gęstości pikseli (DPR Device Pixel Ratio) czy rozmiaru viewportu. To bardzo efektywna metoda, która poprawia wydajność i doświadczenia użytkownika. Oto prosty przykład użycia
srcset:

Zmień obrazek w link
Bardzo często chcemy, aby kliknięcie obrazka przenosiło użytkownika do innej strony lub zasobu. Przekształcenie obrazka w klikalny link jest niezwykle proste wystarczy otoczyć znacznik `` znacznikiem `` (anchor). Atrybut `href` w znaczniku `` określa adres docelowy linku. Pamiętaj, aby nadal używać atrybutu `alt` dla obrazka, co jest ważne dla dostępności i SEO.
Oto kompletny przykład kodu HTML, który zamienia obrazek w link:
