Search⌘ K

Custom Email Input with Inline Validation Icons

Explore how to create a custom email input field with inline validation icons purely using CSS. Learn to apply CSS variables, use :has() selectors for validation detection, and style transition effects to provide dynamic visual feedback on input validity without JavaScript.

Problem description

Given an HTML page containing a <div class="input-wrapper"> that wraps an <input type="email" id="email" class="validation-input" placeholder="Enter your email" required>, write CSS to:

  • Define CSS variables on .input-wrapper: --valid-color, --invalid-color, and --transition-duration.

  • Style .validation-input in the following manner:

    • Width should be 100%, padding-right should ...