# HTML DOM Element clientHeight Property
The `clientHeight` property is a read-only property of the HTML DOM Element interface. It returns the inner height of an element in pixels. This value includes the element's height and vertical padding, but excludes its borders, margins, and any horizontal scrollbar (if present).
---
## Definition and Usage
The `clientHeight` property is an integer representing the visible height of an element's content area, plus its top and bottom padding.
### How it is calculated:
$$\text{clientHeight} = \text{CSS height} + \text{CSS padding-top} + \text{CSS padding-bottom} - \text{Horizontal Scrollbar Height (if visible)}$$
* **Included:** CSS height, top and bottom padding.
* **Excluded:** Borders, margins, and horizontal scrollbars.
* **Return Value:** A read-only integer representing the pixel value.
### Document Root Element Behavior
For the document's root element (such as `` or `` depending on the rendering mode), `clientHeight` returns the viewport height (excluding any scrollbars).
> **Note:** To better understand how this property works, refer to the **CSS Box Model**.
>
> **Tip:** This property is commonly used alongside the (prop-element-clientwidth.html) property.
>
> **Tip:** If you need to retrieve the visible height of an element including its padding, borders, and scrollbars, use the (prop-element-offsetheight.html) property instead.
---
## Syntax
```javascript
let height = element.clientHeight;
```
### Technical Details
| Feature | Description |
| :--- | :--- |
| **Return Value** | An integer representing the element's inner height in pixels. |
| **Read/Write** | Read-only |
| **Standard** | CSSOM View Module |
---
## Browser Support
The `clientHeight` property is fully supported across all major modern and legacy web browsers:
| Property | Chrome | Edge / IE | Firefox | Safari | Opera |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `clientHeight` | Yes | Yes | Yes | Yes | Yes |
---
## Code Examples
### Example 1: Basic Usage
The following example retrieves the height and width of a `div` element, including its padding:
```javascript
// Select the element
const element = document.getElementById("myDIV");
// Get clientHeight and clientWidth
let height = element.clientHeight;
let width = element.clientWidth;
let text = "Element height (including padding): " + height + "px
";
text += "Element width (including padding): " + width + "px";
console.log(text);
```
---
### Example 2: Comparing `clientHeight` vs. `offsetHeight`
This example demonstrates the difference between `clientHeight` (which excludes borders) and `offsetHeight` (which includes borders):
```javascript
const element = document.getElementById("myDIV");
let result = "";
// clientHeight: Height + Padding
result += "Height including padding (clientHeight): " + element.clientHeight + "px
";
// offsetHeight: Height + Padding + Border
result += "Height including padding and border (offsetHeight): " + element.offsetHeight + "px
";
// clientWidth: Width + Padding
result += "Width including padding (clientWidth): " + element.clientWidth + "px
";
// offsetWidth: Width + Padding + Border
result += "Width including padding and border (offsetWidth): " + element.offsetWidth + "px";
console.log(result);
```
---
### Example 3: Behavior with Scrollbars
When an element has an active scrollbar (e.g., using `overflow: scroll`), the scrollbar takes up space inside the element. `clientHeight` automatically subtracts the scrollbar's thickness, whereas `offsetHeight` does not:
```javascript
const element = document.getElementById("myDIV");
let result = "Element Dimensions (with scrollbars):
";
// clientHeight excludes the horizontal scrollbar
result += "Height including padding (excluding scrollbar): " + element.clientHeight + "px
";
// offsetHeight includes the horizontal scrollbar and borders
result += "Height including padding, border, and scrollbar: " + element.offsetHeight + "px
";
// clientWidth excludes the vertical scrollbar
result += "Width including padding (excluding scrollbar): " + element.clientWidth + "px
";
// offsetWidth includes the vertical scrollbar and borders
result += "Width including padding, border, and scrollbar: " + element.offsetWidth + "px";
console.log(result);
```
---
## Visualizing the Differences
To choose the correct property for your layout calculations, refer to this quick summary:
* **`clientHeight` / `clientWidth`**: Content + Padding (excludes borders, margins, and scrollbars).
* **`offsetHeight` / `offsetWidth`**: Content + Padding + Borders + Scrollbars (excludes margins).
* **`scrollHeight` / `scrollWidth`**: Entire content area (including parts hidden by overflow/scrollbars) + Padding.
π Categories
- β‘ JavaScript (1589)
- π PHP (872)
- π Python3 (810)
- π HTML (691)
- βοΈ C# (650)
- π Python (594)
- β Java (552)
- βοΈ PyTorch (534)
- π§ Linux (472)
- βοΈ C (432)
- π¦ jQuery (406)
- π¨ CSS (377)
- π XML (259)
- π¦ jQuery UI (231)
- π― Bootstrap (220)
- βοΈ C++ (215)
- π °οΈ Angular (205)
- π HTML DOM (201)
- π΄ Redis (188)
- π Web Building (142)
- π Vue.js (141)
- π R (131)
- πΌ Pandas (124)
- ποΈ SQL (105)
- βοΈ Docker (86)
- βοΈ TypeScript (73)
- βοΈ Highcharts (70)
- π AI Agent (70)
- βοΈ React (68)
- π Node.js (65)
- βοΈ Machine Learning (60)
- π Git (59)
- π΅ Go (58)
- π Markdown (58)
- π’ NumPy (55)
- π§ͺ Flask (54)
- βοΈ Scala (53)
- ποΈ SQLite (52)
- π JSTL (52)
- βοΈ VS Code (51)
- π MongoDB (49)
- π Perl (48)
- π Ruby (47)
- π Matplotlib (47)
- βοΈ Uncategorized (46)
- π Swift (46)
- ποΈ PostgreSQL (46)
- βοΈ Data Structures (46)
- π Playwright (46)
- π iOS (45)
- ποΈ MySQL (44)
- βοΈ LangChain (43)
- π FastAPI (40)
- βοΈ Ionic (38)
- π Design Patterns (37)
- βοΈ Eclipse (37)
- π¨ CSS3 (34)
- π Lua (34)
- βοΈ Codex (34)
- πΈ Django (32)
- βοΈ OpenCV (32)
- π Rust (31)
- π JSP (31)
- βοΈ Claude Code (31)
- π Pillow (30)
- βοΈ OpenCode (28)
- π AI Skills (27)
- π Flutter (26)
- π Maven (26)
- π¨ Tailwind CSS (25)
- π§ TensorFlow (25)
- π Servlet (24)
- π Dart (23)
- π Assembly (23)
- βοΈ Memcached (22)
- βοΈ SVG (22)
- βοΈ Electron (22)
- π NLP (22)
- π Regex (21)
- π Android (20)
- π£ Kotlin (19)
- π Julia (19)
- π SOAP (17)
- π Selenium (17)
- π PowerShell (17)
- π Sass (16)
- π HTTP (16)
- π Zig (15)
- π AI (15)
- π AJAX (14)
- π Swagger (14)
- βοΈ Scikit-learn (13)
- βοΈ ECharts (13)
- βοΈ Chart.js (13)
- βοΈ Cursor (13)
- βοΈ SciPy (12)
- π RDF (12)
- π Ollama (12)
- π Next.js (12)
- π Plotly Dash (12)
- π JSON (11)
- π RESTful API (11)
- π WSDL (9)
- βοΈ CMake (8)
- π Firebug (7)
- π Nginx (6)
- βΈοΈ Kubernetes (6)
- π Jupyter (6)
- π LaTeX (4)
- π UniApp (4)
- ποΈ SQL Server (1)
YouTip