# Overflow
Utilities for controlling how an element handles content that is too large for the container.
- [Basic Usage](#basic-usage)
- [Quick Reference](#quick-reference)
- [Variants](#variants)
- [Responsive Design](#responsive-design)
- [Dark Mode](#dark-mode)
- [Arbitrary Values](#arbitrary-values)
- [Customizing Theme](#customizing-theme)
- [Related Documentation](#related-documentation)
```dart
// Basic examples
WDiv(className: 'overflow-hidden')
WDiv(className: 'overflow-scroll')
WDiv(className: 'overflow-x-auto')
```
## Basic Usage
Use `overflow-{mode}` to control how content behaves when it exceeds the container's bounds.
### Hidden
Use `overflow-hidden` to clip any content that extends beyond the container's edges. This applies `Clip.hardEdge` to the widget.
```dart
WDiv(
className: 'overflow-hidden w-20 h-20 bg-white rounded-lg',
child: WDiv(className: 'w-40 h-40 bg-red-500'),
)
```
### Scroll
Use `overflow-scroll` to enable scrolling regardless of whether content overflows. This generally wraps the content in a `SingleChildScrollView`.
```dart
WDiv(
className: 'overflow-scroll w-64 h-64 bg-white',
child: LongContentWidget(),
)
```
### Auto
Use `overflow-auto` to enable scrolling only when content actually overflows the container bounds.
```dart
WDiv(
className: 'overflow-auto max-h-48 bg-gray-100',
child: LongContentWidget(),
)
```
### Visible
Use `overflow-visible` to allow content to spill out of the container. This applies `Clip.none` and prevents the container from introducing a scroll context.
```dart
WDiv(
className: 'overflow-visible',
child: LargeContentWidget(),
)
```
## Quick Reference
| Class | Flutter Equivalent | Description |
|:------|:-------------------|:------------|
| `overflow-auto` | `SingleChildScrollView` (conditional) | Scroll only if content overflows |
| `overflow-hidden` | `Clip.hardEdge` | Clip overflowing content |
| `overflow-visible` | `Clip.none` | Content flows outside container |
| `overflow-scroll` | `SingleChildScrollView` | Always enable scrolling |
## Variants
### Directional Overflow
Use `overflow-x-{mode}` and `overflow-y-{mode}` to control overflow on a specific axis independently.
```dart
WDiv(className: 'overflow-x-scroll overflow-y-hidden')
```
| Class | Description |
|:------|:------------|
| `overflow-x-auto` | Scroll horizontally if needed |
| `overflow-y-scroll` | Always scroll vertically |
| `overflow-x-hidden` | Clip horizontal overflow |
| `overflow-y-visible` | Allow vertical overflow |
## Responsive Design
Apply different overflow behaviors at different breakpoints using standard modifiers like `sm:`, `md:`, `lg:`, `xl:`, and `2xl:`.
```dart
// Scroll on mobile, but show full content on desktop
WDiv(className: 'overflow-scroll md:overflow-visible')
```
## Dark Mode
Change overflow behavior in dark mode using the `dark:` prefix.
```dart
WDiv(className: 'overflow-visible dark:overflow-hidden')
```
## Arbitrary Values
The overflow utility does not support arbitrary values. You must use one of the defined keywords (`hidden`, `visible`, `scroll`, `auto`).
## Customizing Theme
Overflow utilities are hardcoded behavior toggles and cannot be customized via `WindThemeData`.
## Related Documentation
- [Sizing](../layout/sizing.md)
- [Display](../layout/display.md)