Gambar responsif dengan srcset, ukuran, & tinggi
srcset
Gunakan atribut srcset
untuk mengontrol aset elemen berdasarkan berbagai ekspresi media. Secara khusus, gunakan ini untuk semua tag amp-img
guna menentukan aset gambar mana yang akan digunakan berdasarkan berbagai ukuran layar. AMP akan membuat atribut sizes
secara otomatis, yang memenuhi definisi sizes
HTML5, untuk semua tag <img>
yang mendasari <amp-img>
jika <amp-img>
memiliki atribut srcset
, tetapi tidak memiliki sizes
.
Dalam contoh sederhana ini, srcset
menentukan gambar yang akan digunakan berdasarkan lebar layar. Deskriptor w
memberi tahu browser tentang lebar setiap gambar di dalam daftar:
<amp-img
alt="Hummingbird"
src="/static/inline-examples/images/hummingbird-wide.jpg"
width="640"
height="457"
layout="responsive"
srcset="/static/inline-examples/images/hummingbird-wide.jpg 640w,
/static/inline-examples/images/hummingbird-narrow.jpg 320w"
>
</amp-img>
w
di semua browser. Pelajari lebih lanjut tentang cara membuat gambar responsif dengan menggunakan srcset
dalam Menggunakan Gambar Responsif (Sekarang).
sizes
Anda juga dapat menggunakan atribut sizes
(ukuran) AMP opsional bersama srcset
. Atribut sizes
AMP menjelaskan cara menghitung ukuran elemen berdasarkan ekspresi media apa pun. Menentukan sizes
pada Elemen AMP apa pun akan menyebabkan AMP menetapkan gaya inline untuk lebar pada elemen tersebut sesuai dengan kueri media yang cocok. Berdasarkan ukuran elemen yang dihitung, agen pengguna memilih sumber paling relatif yang diberikan oleh atribut srcset
.
Pertimbangkan contoh berikut ini:
<amp-img
alt="Hummingbird"
src="/static/inline-examples/images/hummingbird-wide.jpg"
width="640"
height="457"
srcset="/static/inline-examples/images/hummingbird-wide.jpg 640w,
/static/inline-examples/images/hummingbird-narrow.jpg 320w"
sizes="(min-width: 650px) 50vw, 100vw"
>
</amp-img>
Atribut sizes
menentukan lebar elemen menjadi 50% dari ukuran viewport jika viewport berukuran 650px atau lebih. Contoh, jika viewport berukuran 800px, lebar elemen diatur pada 400px. Kemudian, browser akan memilih sumber daya srcset
yang relatif dengan 400px, dengan asumsi bahwa rasio piksel perangkat adalah 1, yang dalam kasus ini adalah hummingbird-narrow.jpg
(320px).
responsive
. Baca lebih lanjut tentang atribut sizes
AMP di sini.
heights
Semua elemen kustom AMP yang memungkinkan tata letak responsive
, juga mendukung atribut heights
(tinggi). Nilai atribut ini adalah ekspresi ukuran berdasarkan ekspresi media yang serupa dengan atribut ukuran img, tetapi dengan dua perbedaan utama:
- Berlaku pada tinggi, bukan pada lebar elemen.
- Nilai dalam bentuk persen diizinkan, misalnya:
86%
. Jika nilai dalam bentuk persen digunakan, nilai akan menunjukkan persentase lebar elemen.
Jika atribut heights
ditentukan beserta width
dan height
, layout
distandarkan pada responsive
.
Contoh:
<amp-img
alt="AMP"
src="/static/inline-examples/images/amp.jpg"
width="320"
height="256"
heights="(min-width:500px) 200px, 80%"
>
</amp-img>
Dalam contoh ini, standar tinggi elemen adalah 80% dari lebar, namun untuk viewport yang lebih lebar dari 500px
, akan dibatasi pada 200px
.