The CSS language has been around for more than 20 years and has always been relatively easy to learn but difficult to master. And it's tempting to just start writing CSS for a new project, but if you don't plan ahead you can end up with large, unwieldy stylesheets which become difficult to work with. A common sign of this is having a lot of
!important statements in stylesheets.
Badly written CSS also has a negative impact on browser performance. Some CSS properties, such as transitions, are really powerful but can slow a browser to a crawl when used wrong.
When you write CSS for large projects this becomes a problem. It's essential to set up a system to ensure that you can continue developing and be sure that your codebase stays maintainable and performant.
Fortunately there are solutions to these pitfalls of CSS. The CSS language has evolved over the years and is now capable of much more than 20 years ago. CSS level 3 has enough features to build every layout possible and browser support is pretty good these days.
With new features such a Flexbox, Grid and Custom Properties (CSS variables) it has become a lot easier to build and style complex interfaces in a sane and maintainable way.
Add to that things like Sass; a pre-processor language for CSS which can help enormously when dealing with complex stylesheets, and BEM; a methodology for efficient naming of HTML components.
With these tools and methods it becomes possible to set up a future-proof scalable system that you can continue to use with confidence.
Hire me for your project
I have been writing CSS for more than 10 years for websites, web applications and mobile websites. I advice and help companies with setting up maintainable and scalable CSS systems.
Contact me if you need a CSS solution!