0
0
Tailwindmarkup~5 mins

Arbitrary variants for custom selectors in Tailwind - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is an arbitrary variant in Tailwind CSS?
An arbitrary variant lets you create custom CSS selectors inside square brackets to apply styles conditionally, beyond the built-in variants like hover or focus.
Click to reveal answer
intermediate
How do you write an arbitrary variant for a custom selector in Tailwind?
You write it inside square brackets before a colon, like [&:has(input:checked)]:bg-green-500, which applies the style when the custom selector matches.
Click to reveal answer
intermediate
Why use arbitrary variants instead of regular classes?
They let you target complex or dynamic states in CSS that Tailwind's default variants don't cover, like parent selectors or custom pseudo-classes.
Click to reveal answer
intermediate
Example: What does [&:has(input:checked)]:bg-blue-200 do?
It applies a blue background to the element only if it contains an input element that is checked, using the CSS :has() selector inside an arbitrary variant.
Click to reveal answer
advanced
Can arbitrary variants be combined with responsive prefixes in Tailwind?
Yes! You can combine them like md:[&:hover]:text-red-500 to apply styles on hover but only on medium screens and up.
Click to reveal answer
How do you start writing an arbitrary variant in Tailwind CSS?
AWith curly braces {} inside a class
BWith parentheses () after a class
CWith square brackets [] before a colon
DWith angle brackets <> around a selector
Which CSS selector can you use inside an arbitrary variant to style a parent based on a child state?
A:has()
B:hover
C:focus
D:active
What does sm:[&:focus-visible]:outline-none do?
ARemoves outline on hover for all screens
BAdds outline on focus-visible for small screens only
CAdds outline on focus for all screens
DRemoves outline on focus-visible for small screens and up
Can arbitrary variants target pseudo-elements like ::before or ::after?
ANo, Tailwind does not support pseudo-elements
BYes, by writing them inside square brackets
COnly with JavaScript
DOnly with inline styles
Which of these is a valid arbitrary variant syntax?
A[&:hover]:text-green-600
B(hover):text-green-600
C{hover}:text-green-600
D<hover>:text-green-600
Explain how arbitrary variants in Tailwind CSS help you style elements with custom selectors.
Think about how you can write selectors that Tailwind does not provide by default.
You got /4 concepts.
    Describe a real-life scenario where you would use an arbitrary variant with a custom selector in Tailwind.
    Consider a form with checkboxes that change the container style.
    You got /4 concepts.