SVGs can be styled using both CSS and SVG attributes. This allows for a high degree of customization and control over their appearance.
CSS Styling
- Apply CSS properties: Use CSS properties like fill, stroke, stroke-width, transform, opacity, and more to style SVG elements.
Example:
HTML
<svg width=”200″ height=”200″>
<circle cx=”100″ cy=”100″ r=”50″ class=”my-circle” />
</svg>
CSS
.my-circle {
fill: red;
stroke: black;
stroke-width: 2px;
transform: rotate(45deg);
}
SVG Attributes
- Use SVG attributes directly within the SVG element.
Example:
HTML
<svg width=”200″ height=”200″>
<circle cx=”100″ cy=”100″ r=”50″ fill=”red” stroke=”black” stroke-width=”2″ transform=”rotate(45)” />
</svg>
Responsive SVG Styling
- Use relative units: Use em or rem for dimensions to create responsive layouts.
- Combine with CSS media queries: Apply different styles based on screen size.
- Leverage CSS variables: Use CSS variables to dynamically control SVG styles.
Example:
CSS
:root {
–primary-color: blue;
}
svg circle {
fill: var(–primary-color);
}
@media only screen and (max-width: 600px) {
svg circle {
transform: scale(0.8);
}
}
Best Practices
- Optimize SVG files: Use tools like SVGO to optimize SVG files for smaller file sizes.
- Consider accessibility: Ensure that SVGs are accessible to users with disabilities by providing appropriate alt text and using contrasting colors.
- Test on various devices: Verify that your SVG styles look consistent across different screen sizes and browsers.
By effectively combining CSS and SVG attributes, you can create visually appealing and responsive SVG graphics. Experiment with different styling techniques to achieve the desired effects for your web designs.