Adición de carruseles
Otra característica común en las páginas móviles es un carrusel. Puede agregar fácilmente carruseles a las páginas de AMP utilizando el componente de amp-carousel
. Comencemos con el ejemplo sencillo de un carrusel de imágenes.
Carrusel de imágenes sencillo
Recuerde incluir la biblioteca de componentes de amp-carousel
agregando la siguiente solicitud de JavaScript a la etiqueta <head>
de su documento:
<script
async
custom-element="amp-carousel"
src="https://cdn.ampproject.org/v0/amp-carousel-0.1.js"
></script>
A continuación, insertaremos un carrusel de imágenes sencillo con un diseño de respuesta y un ancho y una altura predefinidos. Agregue lo siguiente a su página:
<amp-carousel layout="fixed-height" height="168" type="carousel">
<amp-img src="mountains-1.jpg" width="300" height="168"></amp-img>
<amp-img src="mountains-2.jpg" width="300" height="168"></amp-img>
<amp-img src="mountains-3.jpg" width="300" height="168"></amp-img>
</amp-carousel>
Actualice su página y deberá ver un carrusel en ella:
El componente amp-carousel
puede configurarse de varias maneras. Cambiemos la interfaz de usuario para mostrar solo una imagen a la vez y hacer que el diseño del carrusel responda.
Para lograr esto, primero cambie el type
del amp-carousel
, de carousel
a slides
, cambie el layout
a responsive
establezca el width
a 300 (asegurándose de que tiene tanto height
como width
definidos). Agregue el atributo "layout=responsive"
a los hijos de amp-img
en amp-carousel
.
Vuelva a cargar su página. Ahora, en vez de una lista desplegable de elementos, verá un elemento a la vez. Trate de deslizarse horizontalmente para moverse entre los elementos. Si pasa al tercer elemento, no podrá desplazarse más.
A continuación, agregue el atributo loop
. Actualice la página e inmediatamente trate de deslizarse hacia la izquierda. El carrusel girará sin cesar.
Por último, haremos que el carrusel se ejecute automáticamente cada 2 segundos. Agregue a amp-carousel
el atributo autoplay
y el atributo delay
con un valor de 2000
(por ejemplo, delay="2000"
).
Su resultado final debe ser algo parecido a esto:
<amp-carousel
layout="responsive"
width="300"
height="168"
type="slides"
autoplay
delay="2000"
loop
>
<amp-img
src="mountains-1.jpg"
width="300"
height="168"
layout="responsive"
></amp-img>
<amp-img
src="mountains-2.jpg"
width="300"
height="168"
layout="responsive"
></amp-img>
<amp-img
src="mountains-3.jpg"
width="300"
height="168"
layout="responsive"
></amp-img>
</amp-carousel>
¡Actualice la página y vea cómo gira!
amp-carousel
tenía el tipo carousel
, usamos el tipo de disposición fixed-height
. Los tipos de disposición compatibles con el tipo carousel
son limitados, por ejemplo, el tipo carousel
no es compatible con la disposición responsive
. Como su nombre indica, los elementos de altura fija ocupan el espacio disponible, pero mantienen la altura sin cambios. Para los elementos de altura fija, debe definir el atributo height
, mientras que el atributo width
debe ser auto
o no estar establecido. Contenido mixto de carrusel
En primer lugar, vamos a añadir este estilo a la página para garantizar que el amp-fit-text
y amp-carousel
funcionan juntos con seguridad:
En primer lugar, vamos a añadir este estilo a la página para garantizar que el amp-fit-text
y amp-carousel
funcionan juntos con seguridad:
amp-fit-text {
white-space: normal;
}
Ahora, reemplazar tu carousel simple con éste:
<amp-carousel layout="fixed-height" height="250" type="carousel">
<amp-img src="blocky-mountains-1.jpg" width="300" height="250"></amp-img>
<amp-ad
width="300"
height="250"
type="doubleclick"
data-slot="/35096353/amptesting/image/static"
>
<div placeholder>This ad is still loading.</div>
</amp-ad>
<amp-fit-text width="300" height="250" layout="fixed">
Big, bold article quote goes here.
</amp-fit-text>
</amp-carousel>
Actualice la página y debería ver algo como ésto:
Para obtener más información consulte la documentación de referencia del componente amp-carousel
.
amp-ad
incluía un elemento hijo div
con el atributo placeholder
. Anteriormente, en el tutorial, nos encontramos con un escenario similar con amp-ad
al utilizar un fallback
. ¿Cuál es la diferencia entre el marcador de posición y el fallback? Los elementos fallback
aparecen cuando el elemento primario no se carga, es decir, si no hay ningún anuncio disponible. Mientras que los elementos placeholder
aparecen en lugar del elemento principal mientras se está cargando. En cierto sentido, estos elementos son el final del proceso de carga del elemento padre. Puede obtener más información en la Guía Placeholders & fallbacks.