Optimizing CSS
Optimizing CSS makes your website load faster and run more smoothly; which also results in a better user experience.
Here are some tips for optimizing CSS:
- Use Simple Selectors Use simple selectors when possible. Complex selectors increase the parsing time. Bad Example body #navlist ul li a.button:hover {
background-color: blue;
}
Better Example.button:hover {
background-color: blue;
}
- Avoid Universal Selector for Styling Avoid the universal selector (*) when not strictly necessary. The universal selector (*) affects every element and can slow down page rendering.
Example
* {
margin: 0;
padding: 0;
font-size: 16px;
}
- Avoid Inline Styles Avoid inline styles when not necessary. Inline styles make your HTML heavier and are harder to manage.
Bad Example
<div style="color: red; font-size: 18px;">Hello</div>
<p style="color:
blue; font-size: 16px;">Test</p>
Avoid using
@import for loading external CSS, as it delays stylesheet loading.
Add external CSS with the
<link> tag in the head section, so it loads before the page is rendered.
Example
<link rel="stylesheet" href="style.css">
- Use Shorthand Properties Use shorthand properties when possible. It saves space and is faster to parse.
Example
margin-top: 10px;
margin-right: 20px;
margin-bottom: 10px;
margin-left: 20px;
margin: 10px 20px;
- Cut Down Unnecessary Animations A high number of animations and large animations require more processing power to handle, which degrades performance. So, remove unnecessary animations.
- Use Properties that Not Cause Repaint of Animations Animation performance relies also on what properties you are animating. Some properties (like width, height, left, top), trigger a layout recalculation when animated, and should be avoided. If possible, use animation properties that do not cause repaint, like transforms, opacity and filter.
- Combine and Minify CSS Use one CSS file when possible, and remove spaces and comments to reduce file size.
Online compressors
- Cache Your CSS Make sure your CSS file is cached by the browser by giving it a long expiration time in your server settings. This reduces how often users need to re-load it.
Keep selectors short and simple
Avoid layout-thrashing operations
Use efficient animation techniques
Use external, minified, and cached stylesheets