Elastyczne obrazy w CSS

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Elastyczne obrazy w CSS

Elastyczne obrazy to grafiki, których rozmiar dostosowuje się do dostępnej przestrzeni na stronie. Jest to jedna z podstawowych technik tworzenia stron responsywnych.

Na różnych urządzeniach ekran ma inną szerokość. Obraz ustawiony na stałe, np. width: 800px, może dobrze wyglądać na komputerze, ale na telefonie może wyjść poza ekran. Dlatego w responsywnym projektowaniu często stosuje się wartości procentowe.

Typowe rozwiązanie

img {
  max-width: 100%;
  height: auto;
}

Ten zapis oznacza, że obraz nie będzie szerszy niż jego kontener. Właściwość height: auto zachowuje proporcje grafiki, dzięki czemu obraz nie zostanie zniekształcony.

Szerokość w procentach

.obrazek {
  width: 50%;
}

Obraz zajmie połowę szerokości elementu nadrzędnego. Jeśli kontener się zmniejszy, obraz również się zmniejszy.

Dlaczego nie tylko piksele?

Piksele są jednostką bezwzględną. Ustawienie obrazu wyłącznie w pikselach może spowodować problemy na małych ekranach. Procenty są bardziej elastyczne, ponieważ zależą od rozmiaru kontenera.

Znaczenie egzaminacyjne

Jeżeli pytanie dotyczy dostosowania strony internetowej do różnych urządzeń, poprawnym kierunkiem jest stosowanie elastycznych wymiarów, np. szerokości obrazów w procentach. Układ oparty wyłącznie na tabelach lub pikselach nie jest zgodny z zasadami responsywności.