# Max-Width and Min-Width
Constrain the maximum and minimum widths of widgets using the `max-w-*` and `min-w-*` utilities. Supports pixel-based, percentage-based, and viewport-relative values.
- [Basic Usage](#basic-usage)
- [Quick Reference](#quick-reference)
- [How Values Are Calculated](#how-values-are-calculated)
- [Arbitrary Values](#arbitrary-values)
- [Responsive Design](#responsive-design)
- [Related Documentation](#related-documentation)
```dart
import 'package:fluttersdk_wind/fluttersdk_wind.dart';
WContainer(
className: 'max-w-[300] bg-purple-500 dark:bg-purple-700',
child: WText('Max width: 300px'),
)
WContainer(
className: 'min-w-[100] bg-orange-500 dark:bg-orange-700',
child: WText('Min width: 100px'),
)
```
## Basic Usage
Use `max-w-*` to prevent a widget from growing beyond a certain width. Use `min-w-*` to ensure it never shrinks below a minimum. Both accept the same value forms as the `w-*` utilities.
```dart
WContainer(
className: 'max-w-10 bg-purple-500 dark:bg-purple-700',
child: WText('Max width: 40px'), // 10 * 4 (Pixel Factor)
)
WContainer(
className: 'min-w-12 bg-yellow-500 dark:bg-yellow-700',
child: WText('Min width: 48px'), // 12 * 4 (Pixel Factor)
)
```
## Quick Reference
### Max-Width
| Class | Description | Example |
|:------|:------------|:--------|
| `max-w-{value}` | Maximum width in pixels (scaled by Pixel Factor) | `max-w-20` |
| `max-w-[{value}]` | Arbitrary maximum width in pixels | `max-w-[300]` |
| `max-w-full` | 100% of the parent's width | `max-w-full` |
| `max-w-screen` | 100% of the viewport width | `max-w-screen` |
| `max-w-{x}/{y}` | Percentage of the parent's width | `max-w-1/2` |
| `max-w-[{value}vw]` | Percentage of the viewport width | `max-w-[80vw]` |
### Min-Width
| Class | Description | Example |
|:------|:------------|:--------|
| `min-w-{value}` | Minimum width in pixels (scaled by Pixel Factor) | `min-w-20` |
| `min-w-[{value}]` | Arbitrary minimum width in pixels | `min-w-[300]` |
| `min-w-full` | 100% of the parent's width | `min-w-full` |
| `min-w-screen` | 100% of the viewport width | `min-w-screen` |
| `min-w-{x}/{y}` | Percentage of the parent's width | `min-w-1/2` |
| `min-w-[{value}vw]` | Percentage of the viewport width | `min-w-[80vw]` |
## How Values Are Calculated
### Predefined Sizes
Values are multiplied by the Pixel Factor.
- Example: `max-w-20` → 20 × 4 (Pixel Factor) = **80px**.
- Example: `min-w-12` → 12 × 4 (Pixel Factor) = **48px**.
### Special Keywords
| Value | Result |
|:------|:-------|
| `full` | `double.infinity` (100% of parent) |
| `screen` | Viewport width via `MediaQuery` |
### Fraction Syntax
Use `max-w-x/y` or `min-w-x/y` to express a fraction of the parent width.
- Example: `max-w-3/4` → 75% of the parent's width.
### Viewport Width
Append `vw` inside brackets for a percentage of the viewport.
- Example: `max-w-[80vw]` → 80% of the viewport width.
## Arbitrary Values
Use bracket notation for an exact pixel value, bypassing the Pixel Factor.
```dart
WContainer(
className: 'max-w-[600] min-w-[200] bg-gray-200 dark:bg-gray-700',
child: WText('Width stays between 200px and 600px.'),
)
```
## Responsive Design
Combine max/min width with breakpoint prefixes for responsive constraints.
```dart
WContainer(
className: 'max-w-full md:max-w-[600] lg:max-w-[800] bg-blue-500 dark:bg-blue-700',
child: WText('Responsive max-width.'),
)
```
Available breakpoints: `sm`, `md`, `lg`, `xl`, `2xl`.
## Related Documentation
- [Width](./width.md) — control widget width directly.
- [Max-Height and Min-Height](./max-height-min-height.md) — constrain height bounds.
- [Height](./height.md) — control widget height directly.
- [Pixel Factor](../customization/pixel-factor.md) — configure the base unit.
- [WContainer](../widgets/wcontainer.md) — the primary container widget.