Tailwind CSS SVG
Tailwind CSS provides a set of utilities to control the appearance of SVG elements, ensuring consistency and ease of customization. These utilities allow developers to manipulate fill
, stroke
, and stroke-width
properties without requiring inline styles or additional CSS. By using Tailwind’s utility-first approach, SVGs can be seamlessly styled to match the overall design system of a project.
With utilities like fill-*
, stroke-*
, and stroke-width-*
, developers can fine-tune SVG icons, illustrations, and graphics to enhance their visual presentation across different themes and interaction states.
Utility | Description | Example |
---|---|---|
Fill | Sets fill color for SVG graphics or other elements. | <svg className="fill-current"></svg> |
Stroke | Applies stroke color to SVG elements and paths. | <svg className="stroke-current"></svg> |
Stroke Width | Defines thickness of SVG strokes for element outlines. | <svg className="stroke-2"></svg> |
Best Practices
Control SVG Fill Color
The fill-*
utility defines the fill color of an SVG element, allowing dynamic customization based on Tailwind’s color palette. This is especially useful for icons and illustrations. For instance, fill-current
ensures that the SVG inherits the text color, while fill-blue-500
, fill-gray-700
, etc. apply a specific color from the Tailwind palette.
Define SVG Stroke Colors
The stroke-*
utility applies a color to the outline of an SVG shape, controlling its border appearance. This is particularly useful for line-based icons or drawings that need distinct stroke colors. To match UI components, use stroke-current
to inherit the text color or specific colors like- stroke-red-600
to explicitly define a stroke color for emphasis.
Adjust Stroke Thickness
The stroke-*
utility modifies the thickness of an SVG stroke. Values such as stroke-1
or stroke-2
define how bold the outline appears, helping maintain visual hierarchy. For precise adjustments, increasing stroke width on hover (hover:stroke-2
) enhances interactive elements like buttons and links.
Ensure Accessibility
Applying fill-current
and stroke-current
ensures that SVGs automatically adapt to text color changes, improving consistency across themes and accessibility modes. For dark mode, use dark:fill-white
or dark:stroke-gray-300
to maintain visibility against darker backgrounds.
Combine Fill and Stroke
Using both fill-*
and stroke-*
together allows for more detailed SVG styling. For example, fill-transparent stroke-black stroke-2
creates a clear inner shape with a bold outline. Pairing fill-none
with stroke-*
is effective for line-based illustrations where only the stroke is needed.