Wspólne atrybuty elementów
AMP zapewnia zestaw wspólnych atrybutów, rozszerzanych na wiele składników AMP (i elementów HTML). Niniejszy dokument opisuje każdy z tych wspólnych atrybutów.
fallback
Fallback (zasób rezerwowy) to konwencja, która pozwala elementowi na poinformowanie czytelnika o tym, że przeglądarka nie obsługuje danego elementu lub nie udało się załadować podstawowego zasobu. Atrybut fallback
można umieścić w dowolnym elemencie HTML, który jest bezpośrednim elementem podrzędnym elementu AMP obsługującego zasoby rezerwowe. Dokładny sposób działania w odniesieniu do zasobu rezerwowego zależy od implementacji elementu, ale zazwyczaj element rezerwowy jest wyświetlany zamiast zwykłego elementu.
Często używany z: obrazami, animacjami, audio i wideo
Przykład:
<amp-img src="invalid.jpg" height="400" width="300" layout="responsive">
<div fallback style="background-color: #ccc; display: flex; justify-content: center; align-items: center;">
Could not load image
</div>
</amp-img>
Więcej informacji zawiera artykuł Elementy zastępcze i zasoby rezerwowe.
heights
Wszystkie elementy AMP, które obsługują układ responsive
, obsługują także atrybut heights
. Wartość tego atrybutu jest wyrażeniem sizes bazującym na wyrażeniach media, podobnym do atrybutu sizes w znacznikach img
, ale z dwoma kluczowymi różnicami:
- Wartość dotyczy wysokości, a nie szerokości elementu.
- Dozwolone są wartości procentowe. Wartość procentowa wskazuje procent szerokości elementu. Na przykład wartość
80%
znaczy, że element będzie mieć wysokość równą 80% jego szerokości.
Uwaga: gdy atrybut width
i height
, domyślnie ustawiany jest layout
responsive
.
Przykład:
<amp-img
src="amp.png"
width="320"
height="256"
heights="(min-width:500px) 200px, 80%"
>
</amp-img>
Więcej informacji zawiera artykuł Kierowanie grafiką za pomocą atrybutów srcset, sizes i heights.
layout
AMP zapewnia zestaw układów, które określają sposób działania składnika AMP w układzie dokumentu. Można określić układ składnika poprzez dodanie atrybutu layout
z jedną z obsługiwanych wartości układu danego elementu (obsługiwane wartości przedstawia dokumentacja elementu).
Przykład:
<amp-img
src="/img/amp.jpg"
width="1080"
height="610"
layout="responsive"
alt="an image"
>
</amp-img>
Więcej informacji zawiera artykuł Zapytania o układ i media oraz Specyfikacja układu.
media
Większość elementów AMP obsługuje atrybut media
. Wartość atrybutu media
to zapytanie o media. Jeśli zapytanie nie zwraca dopasowania, element nie jest renderowany, a jego zasoby i potencjalnie zasoby podrzędne nie są pobierane. Jeśli okno przeglądarki zmieni rozmiar lub orientację, zapytania o media są ponownie oceniane, a elementy są ukrywane i wyświetlane na podstawie nowych wyników.
Przykład:
<amp-img
media="(min-width: 650px)"
src="wide.jpg"
width="466"
height="355"
layout="responsive"
></amp-img>
<amp-img
media="(max-width: 649px)"
src="narrow.jpg"
width="527"
height="193"
layout="responsive"
></amp-img>
Więcej informacji zawiera artykuł Zapytania o układ i media.
noloading
Atrybut noloading
wskazuje, czy „wskaźnik ładowania” danego elementu ma być wyłączony. Wiele elementów AMP pokazuje „wskaźnik ładowania”, czyli prostą animację pokazującą, że element nie został jeszcze w pełni załadowany.
Często używany z: obrazami, animacjami, wideo i reklamami
Przykład:
<amp-img src="card.jpg" noloading height="190" width="297" layout="responsive">
</amp-img>
on
Atrybut on
służy do instalowania programów obsługi zdarzeń w elementach. Obsługiwane zdarzenia zależą od elementu.
Często używany z: lightboxami, paskami bocznymi, listami generowanymi na żywo i formularzami
Składnia:
eventName:targetId[.methodName[(arg1=value, arg2=value)]]
Przykład:
<button on="tap:my-lightbox">Open lightbox</button>
<amp-lightbox id="my-lightbox" layout="nodisplay"> ... </amp-lightbox>
Więcej informacji zawiera artykuł Działania i zdarzenia w AMP.
placeholder
Atrybut placeholder
wskazuje, że element oznaczony tym atrybutem działa jako element zastępczy nadrzędnego elementu AMP. Atrybut ten można umieścić w dowolnym elemencie HTML, który jest bezpośrednim elementem podrzędnym elementu AMP obsługującego atrybuty placeholder. Domyślnie elementy zastępcze elementu AMP są wyświetlane natychmiast, nawet jeśli zasoby elementu AMP nie zostały pobrane lub zainicjowane. Gdy element AMP jest już gotowy, zazwyczaj ukrywa elementy zastępcze i pokazuje swoją zawartość. Dokładny sposób działania elementu zastępczego zależy od implementacji elementu. AMP
Często używany z: obrazami, animacjami, wideo i reklamami
Przykład:
<amp-anim src="animated.gif" width="466" height="355" layout="responsive">
<amp-img placeholder src="preview.png" layout="fill"></amp-img>
</amp-anim>
Więcej informacji zawiera artykuł Elementy zastępcze i zasoby rezerwowe.
sizes
Wszystkie elementy AMP obsługujące układ responsive
obsługują także atrybut sizes
. Wartość atrybutu AMP sizes
jest wyrażeniem sizes, które wybiera zdefiniowany rozmiar odpowiadający zapytaniu o media odpowiednio do bieżącego rozmiaru okna. Dodatkowo AMP ustawia styl inline atrybutu width
w elemencie.
Przykład:
<amp-img
src="amp.png"
width="400"
height="300"
layout="responsive"
sizes="(min-width: 320px) 320px, 100vw"
>
</amp-img>
Wytworzy następujący zagnieżdżony znacznik
<img
decoding="async"
src="amp.png"
sizes="(min-width: 320px) 320px, 100vw"
class="i-amphtml-fill-content i-amphtml-replaced-content"
/>
Więcej informacji zawiera artykuł Kierowanie grafiką za pomocą atrybutów srcset, sizes i heights.
width i height
W przypadku niektórych układów składniki AMP muszą mieć atrybuty width
i height
, zawierające wartości wyrażone w całkowitych liczbach pikseli.
Przykład:
<amp-anim width="245" height="300" src="/img/cat.gif" alt="cat animation">
</amp-anim>
Więcej informacji zawiera artykuł Zapytania o układ i media oraz Specyfikacja układu.