How to determine the content of HTML elements overflow or not ?

Given an HTML element and the task is to determine whether its content is overflow or not using JavaScript.
Approach:
- Select the element to check form overflow.
- Check its style.overflow property, if it is ‘visible’ then the element is hidden.
- Also, check if its clientWidth is less then scrollWidth or clientHeight is less then scrollHeight then the element is overflowed.
Example 1: In this example, check the content of paragraph (<p> element) is overflowed or not.
<!DOCTYPE HTML> <html> <head> <title> How to determine the content of HTML elements overflow or not </title> <style> #GFG_UP { font-size: 16px; font-weight: bold; border: 1px solid black; height: 20px; width: 200px; margin: 0 auto; } </style> </head> <body style = "text-align:center;"> <h1 style = "color:green;" > GeeksForGeeks </h1> <p id = "GFG_UP"></p> <br><br> <button onclick = "gfg_Run()"> Click here </button> <p id = "GFG_DOWN" style = "color:green; font-size: 20px; font-weight: bold;"> </p> <script> var el_up = document.getElementById("GFG_UP"); var el_down = document.getElementById("GFG_DOWN"); var str = "Click on button to check OverFlow"; el_up.innerHTML = str; function check(el) { var curOverf = el.style.overflow; if ( !curOverf || curOverf === "visible" ) el.style.overflow = "hidden"; var isOverflowing = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight; el.style.overflow = curOverf; return isOverflowing; } function gfg_Run() { ans = "No Overflow"; if (check(el_up)) { ans = "Content Overflowed"; } el_down.innerHTML = ans; } </script> </body> </html> |
Output:
-
Before clicking on the button:
-
After clicking on the button:
Example 2: This is same as previous example, but here the content of paragraph (<p> element) is not overflowed, so the example checks and display the desired output No Overflow.
<!DOCTYPE HTML> <html> <head> <title> How to determine the content of HTML elements overflow or not </title> <style> #GFG_UP { font-size: 16px; font-weight: bold; border: 1px solid black; height: 20px; width: 200px; margin: 0 auto; } </style> </head> <body style = "text-align:center;"> <h1 style = "color:green;" > GeeksForGeeks </h1> <p id = "GFG_UP"></p> <br><br> <button onclick = "gfg_Run()"> Click here </button> <p id = "GFG_DOWN" style = "color:green; font-size: 20px; font-weight: bold;"> </p> <script> var el_up = document.getElementById("GFG_UP"); var el_down = document.getElementById("GFG_DOWN"); var str = "Click on button to check"; el_up.innerHTML = str; function check(el) { var curOverf = el.style.overflow; if ( !curOverf || curOverf === "visible" ) el.style.overflow = "hidden"; var isOverflowing = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight; el.style.overflow = curOverf; return isOverflowing; } function gfg_Run() { ans = "No Overflow"; if (check(el_up)) { ans = "Content Overflowed"; } el_down.innerHTML = ans; } </script> </body> </html> |
Output:
-
Before clicking on the button:
-
After clicking on the button:



