# Opacity Utilities for controlling the opacity of an element. ## Table of Contents - [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 WDiv(className: 'opacity-100 bg-blue-500') WDiv(className: 'opacity-75 bg-blue-500') WDiv(className: 'opacity-50 bg-blue-500') WDiv(className: 'opacity-25 bg-blue-500') WDiv(className: 'opacity-0 bg-blue-500') ``` ## Basic Usage Control the opacity of an element using `opacity-{value}` utilities. This affects the entire element, including its content, background, and borders. ```dart WDiv( className: 'opacity-50 bg-blue-500 text-white p-4', child: WText('This entire element is 50% opaque'), ) ``` > [!NOTE] > This utility sets the Flutter `Opacity` widget or `color.withOpacity()` equivalent depending on context. To change only the background color's opacity without affecting text, use the color opacity modifier (e.g., `bg-blue-500/50`) instead. ## Quick Reference | Class | Value | Description | |:--- |:--- |:--- | | `opacity-0` | 0 | Fully transparent | | `opacity-5` | 0.05 | | | `opacity-10` | 0.1 | | | `opacity-20` | 0.2 | | | `opacity-25` | 0.25 | | | `opacity-30` | 0.3 | | | `opacity-40` | 0.4 | | | `opacity-50` | 0.5 | | | `opacity-60` | 0.6 | | | `opacity-70` | 0.7 | | | `opacity-75` | 0.75 | | | `opacity-80` | 0.8 | | | `opacity-90` | 0.9 | | | `opacity-95` | 0.95 | | | `opacity-100` | 1 | Fully opaque | ## Variants Wind supports all standard state variants for opacity. ```dart // Change opacity on hover WDiv(className: 'opacity-50 hover:opacity-100') // Change opacity when button is disabled WButton(className: 'bg-blue-500 disabled:opacity-50') // Change opacity on focus WInput(className: 'opacity-75 focus:opacity-100') ``` ## Responsive Design Change opacity based on screen size using responsive prefixes. ```dart WDiv(className: 'opacity-100 md:opacity-50 lg:opacity-25') ``` ## Dark Mode Adjust opacity based on the current theme brightness. ```dart WDiv(className: 'opacity-100 dark:opacity-80') ``` ## Arbitrary Values Use square brackets to define a custom opacity value between `0.0` and `1.0`. ```dart WDiv(className: 'opacity-[0.67]') WDiv(className: 'opacity-[0.125]') ``` > [!WARNING] > Values are clamped between 0.0 and 1.0. `opacity-[1.5]` will resolve to `1.0`. ## Customizing Theme You can customize the available opacity scale in your `WindThemeData`. ```dart WindTheme( data: WindThemeData( opacities: { 'disabled': 0.35, 'faint': 0.10, 'glass': 0.85, }, ), child: MyApp(), ) ``` Now you can use these custom keys in your utilities: ```dart WDiv(className: 'opacity-disabled') // 0.35 WDiv(className: 'opacity-glass') // 0.85 ``` ## Related Documentation - [Background Color](/doc/styling/background-color.md) - Using `/alpha` modifiers for backgrounds - [Text Color](/doc/typography/text-color.md) - Using `/alpha` modifiers for text - [Shadow](/doc/styling/shadow.md) - Box shadow utilities