Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

How to create Dynamic Header using Google AMP amp-accordion?

  • Last Updated : 01 Oct, 2020

Introduction: Sometimes we have a lot of content to display and to make the website look pretty and short we make use of the collapsible textboxes. Collapsible textboxes are that division which is the combination of heading and content, generally only heading is visible but when it is hit the content is displayed.

Attention reader! Don’t stop learning now. Get hold of all the important HTML concepts with the Web Design for Beginners | HTML  course.

Setup:

  • You have to import amp-accordion component in your header to use this tag.




<script async custom-element="amp-accordion"
</script>
  • To make a dynamic header us this CSS code mentioned below. This code will change the header’s content dynamically whenever the division is expanded or collapsed.




amp-accordion section[expanded] .show-more {
  display: none;
}
  
amp-accordion section:not([expanded]) .show-less {
  display: none;
}

Example:




<!doctype html>
<html <img draggable="false" 
        class="emoji" 
        alt="" 
        src=
<head>
<meta charset="utf-8">
  <script async src=
   </script>
  <!--
    Import the `amp-accordion` component in the header.
  -->
  <script async custom-element="amp-accordion" 
  </script>
  <link rel="canonical" href=
  <meta name="viewport" 
     content="width=device-width, 
     minimum-scale=1, initial-scale=1">
  <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>
    
<title>GeeksForGeeks | amp-accordion</title>
<style amp-custom>
    h1, h4{
      color: forestgreen;
    }
      section {
        color: crimson;
      }
    
    amp-accordion section[expanded] .show-more {
      display: none;
    }
  
    amp-accordion section:not([expanded]) .show-less {
      display: none;
    }
  
    /* these styles are not required for the samples to work */
    :root {
      --space-2: 1rem;
      /* 16px */
    }
  
    amp-accordion.sample {
      margin: var(--space-2);
    }
</style>
<meta name="robots" content="noindex, nofollow">
</head>
<body>
  <!-- Body of the Page -->
  <center><h1>
    Geeks For Geeks
  </h1></center>
  <amp-accordion class="sample"
    disable-session-states>
    <section>
      <h4><span class="show-more">
             Click it Geek!!
          </span
          <span class="show-less">
             Welcome to GeeksForGeeks
          </span></h4>
      <p>GeeksforGeeks is a Computer Science portal for geeks. 
         It contains well written, well thought and well explained 
         computer science and programming articles, quizzes etc. </p>
    </section>
  </amp-accordion>
</body>
</html>

Output:




My Personal Notes arrow_drop_up
Recommended Articles
Page :