Jak dostosować multimedialne elementy do różnych urządzeń
Jak dostosować multimedialne elementy do różnych urządzeń
Użytkownicy odwiedzają Twoją stronę na różnych urządzeniach – od dużych monitorów po małe ekrany smartfonów. Dlatego multimedia – wideo, audio i osadzone treści w iframe – muszą być responsywne, czyli automatycznie dopasowywać się do dostępnej przestrzeni.
Bez odpowiedniego formatowania filmy mogą wystawać poza ekran, a mapa lub odtwarzacz mogą być zbyt małe do użycia. W tej lekcji pokażę Ci, jak krok po kroku sprawić, by multimedia wyglądały dobrze wszędzie.
1. Responsywne wideo – krok po kroku
Domyślnie element <video> ma określoną szerokość i wysokość w pikselach. Możemy to zmienić za pomocą CSS, by automatycznie dopasowywał się do szerokości kontenera:
<style>
video {
max-width: 100%;
height: auto;
display: block;
}
</style>
<video controls src="film.mp4"></video>
Efekt działania: odtwarzacz będzie się skalował do szerokości rodzica, np. div-a lub całego okna przeglądarki.
2. Responsywne iframe – np. YouTube lub mapy
Iframe nie skaluje się automatycznie – musimy mu w tym pomóc. Najlepszym podejściem jest użycie tzw. kontenera z proporcjami:
<style>
.responsive-iframe {
position: relative;
padding-bottom: 56.25%; /* proporcja 16:9 */
height: 0;
overflow: hidden;
}
.responsive-iframe iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
</style>
<div class="responsive-iframe">
<iframe src="https://www.youtube.com/embed/dQw4w9WgXcQ"
frameborder="0"
allowfullscreen>
</iframe>
</div>
Efekt działania: iframe będzie skalował się proporcjonalnie do szerokości – idealne rozwiązanie dla osadzonych filmów i map.
3. Stylowanie audio – dopasowanie do wyglądu strony
Element <audio> również możemy dopasować do szerokości rodzica. Warto nadać mu szerokość 100% i ograniczyć maksymalną szerokość, by nie wyglądał źle na dużych ekranach:
<style>
audio {
width: 100%;
max-width: 400px;
display: block;
margin: 20px auto;
}
</style>
<audio controls src="muzyka.mp3"></audio>
Efekt działania: odtwarzacz audio będzie elastyczny i estetycznie wyśrodkowany.
4. Media Queries – dodatkowa kontrola
Jeśli chcesz, możesz jeszcze bardziej dopasować multimedia do konkretnych rozmiarów ekranów. Przykład: na bardzo małych ekranach możesz ustawić inne proporcje iframe lub ukryć wybrane elementy.
<style>
@media (max-width: 480px) {
.responsive-iframe {
padding-bottom: 75%; /* bardziej pionowa proporcja */
}
}
</style>
Dzięki temu zachowujesz pełną kontrolę nad układem multimediów na różnych urządzeniach.
Ćwiczenie – zbuduj responsywną sekcję multimedialną
Stwórz sekcję, która zawiera:
- responsywne wideo lokalne (np.
<video>), - iframe z YouTube w kontenerze,
- odtwarzacz audio dopasowany do szerokości strony.
👉 Otwórz JSFiddle i przetestuj układ
<style>
video, audio {
max-width: 100%;
display: block;
margin-bottom: 20px;
}
.responsive-iframe {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}
.responsive-iframe iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
</style>
<video controls src="https://www.w3schools.com/html/mov_bbb.mp4"></video>
<div class="responsive-iframe">
<iframe src="https://www.youtube.com/embed/dQw4w9WgXcQ"
frameborder="0"
allowfullscreen>
</iframe>
</div>
<audio controls src="https://www.w3schools.com/html/horse.mp3"></audio>
Spróbuj przetestować efekt na różnych rozmiarach okna lub urządzeniach. Zobacz, jak elementy dopasowują się automatycznie!
