Open In App

How to add lightbox effect to amp-carousel in Google AMP ?

Last Updated : 29 Oct, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

 

The amp-carousel is used to make an image carousel in an AMP HTML page. In AMP HTML, it is also possible to add a lightbox effect to an amp-carousel using amp-lightbox-gallery given that amp-carousel only contains images in them.

Required Script: Importing amp-carousel component into the header.

HTML




<script async custom-element="amp-carousel"
</script>


Importing amp-lightbox-gallery component into the header

HTML




<script async custom-element="amp-lightbox-gallery" 
</script>


Example:

HTML




<!doctype html>
<html âš¡>
  
<head>
    <meta charset="utf-8">
    <link rel="canonical" href=
  
    <meta name="viewport" content=
"width=device-width,minimum-scale=1,initial-scale=1">
  
    <script async src=
    </script>
      
    <script async custom-element="amp-carousel" 
    </script>
  
    <title>Google AMP amp-lightbox-gallery</title>
  
    <!-- Import the amp-lightbox-gallery 
        component in the header.  -->
    <script async custom-element="amp-lightbox-gallery"
    </script>
  
    <style amp-boilerplate>
        body {
            -webkit-animation: -amp-start 8s 
                steps(1, end) 0s 1 normal both;
  
            -moz-animation: -amp-start 8s 
                steps(1, end) 0s 1 normal both;
  
            -ms-animation: -amp-start 8s 
                steps(1, end) 0s 1 normal both;
  
            animation: -amp-start 8s 
                steps(1, end) 0s 1 normal both;
        }
  
        @-webkit-keyframes -amp-start {
            from {
                visibility: hidden
            }
  
            to {
                visibility: visible
            }
        }
  
        @-moz-keyframes -amp-start {
            from {
                visibility: hidden
            }
  
            to {
                visibility: visible
            }
        }
  
        @-ms-keyframes -amp-start {
            from {
                visibility: hidden
            }
  
            to {
                visibility: visible
            }
        }
  
        @-o-keyframes -amp-start {
            from {
                visibility: hidden
            }
  
            to {
                visibility: visible
            }
        }
  
        @keyframes -amp-start {
            from {
                visibility: hidden
            }
  
            to {
                visibility: visible
            }
        }
    </style>
  
    <noscript>
        <style amp-boilerplate>
            body {
                -webkit-animation: none;
                -moz-animation: none;
                -ms-animation: none;
                animation: none
            }
        </style>
    </noscript>
      
    <style amp-custom>
        :root {
            --color-primary: #005AF0;
            --color-text-light: #fff;
            --space-1: .5rem;
            --space-2: 1rem;
        }
    </style>
</head>
  
<body>
    <amp-carousel lightbox width="1600" 
        height="1300" layout="responsive"
        type="slides">
        <amp-img src=
            width="200"
            height="100">
        </amp-img>
          
        <amp-img src=
            width="200" height="100">
        </amp-img>
          
        <amp-img src=
            width="200"
            height="100">
        </amp-img>
    </amp-carousel>
</body>
  
</html>


Output:

code output

When we clicked in the image the following view is seen

when we clicked on the top left gallery option the following view is seen



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads