How to change/update CSS class dynamically using amp-bind in Google AMP ? Last Updated : 25 Oct, 2020 Comments Improve Suggest changes Like Article Like Report Sometimes you want to add custom interactivity to your AMP pages to make your pages look more user-friendly and user calling. Although AMP's pre-built components are limited, so amp-bind is made to overcome this problem. It helps the developer to add custom interactivity to the pages without using AMP's pre-built components. You can use amp-bind to change the text dynamically on user interaction with the page. Setup: To use amp-bind in your page you have to import its script in the header of the document. HTML <script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"> </script> The amp-bind of Google AMP comprises three main concepts: State: State variables are responsible for the update on the page on the basis of user actions. It is very important to define a state variable.Expression: They are like JavaScript expressions used to refer to the state.Binding: They are a special attribute that is used to link an element's property to a state via an expression.To change the image's class we will make use of [class] attribute, it helps to change the class dynamically. Example: HTML <!doctype html> <html amp> <head> <meta charset="utf-8"> <title>Google AMP amp-bind</title> <link rel="canonical" href= "https://amp.dev/documentation/examples/components/amp-bind/index.html"> <meta name="viewport" content= "width=device-width,minimum-scale=1,initial-scale=1"> <script async src= "https://cdn.ampproject.org/v0.js"> </script> <script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"> </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> h1 { color: forestgreen; } .gfg { border: 5px solid crimson; } </style> </head> <body> <center> <h1> Geeks For Geeks </h1> <div style="padding: 1em;"> <amp-img src= "https://media.geeksforgeeks.org/wp-content/cdn-uploads/gfg_200x200-min.png" width="150" height="150" [class]="border"> </amp-img> <br> <button on="tap:AMP.setState({ border: 'gfg' })"> Change Class </button> </div> </center> </body> </html> Output: Initially, the image has no class but when the button is hit, its class is updated to gfg which has a border attribute thus a border appears on the screen around the image. Comment More infoAdvertise with us Next Article How to change/update CSS class dynamically using amp-bind in Google AMP ? aditya_taparia Follow Improve Article Tags : Web Technologies HTML Google-AMP Similar Reads How to change/update text dynamically using amp-bind in Google AMP ? Sometimes you want to add custom interactivity to your AMP pages to make your pages look more user-friendly and user calling. Although AMP's pre-built components are limited, so amp-bind is made to overcome this problem. It helps the developer to add custom interactivity to the pages without using A 2 min read How to change/update image dynamically using amp-bind in Google AMP ? Sometimes you want to add custom interactivity to your AMP pages to make your pages look more user-friendly and user calling. Although AMP's pre-built components are limited, so amp-bind is made to overcome this problem. It helps the developer to add custom interactivity to the pages without using A 3 min read How to change/update image size dynamically using amp-bind in Google AMP ? Sometimes you want to add custom interactivity to your AMP pages to make your pages look more user-friendly and user calling. Although AMP's pre-built components are limited, so amp-bind is made to overcome this problem. It helps the developer to add custom interactivity to the pages without using A 2 min read How to calculate area of circle dynamically using amp-bind-macro in Google AMP ? With the help of amp-bind-macro, one can create an HTML program to calculate the area of circle dynamically. When the input is given, the page will respond to the user input, find the area of the circle with the radius provided and print it without refreshing the page. Setup: To use amp-bind-macro i 2 min read How to toggle CSS class on an element dynamically using ReactJS ? Sometimes developers need to toggle CSS class on an element dynamically using ReactJS due to the DOM events and modifications after the User Interaction or change in data from API. For example, when the user clicks on one element we can change the styling for any particular element by toggling the C 4 min read Like