For me writing CSS is one of the most enjoyable parts of web development; it bridges the gap between development and design and kind of puts the ‘icing on the cake’ when it comes to building a website.
As the name Cascading Style Sheets implies, good CSS should make full use of inheritance and follow a logic that works in perfect balance with your HTML to create an effective light-weight system.
In the last few years the new buzzword in web development has been CSS Pre-Processors and these come in several varieties such as SASS, SCSS, LESS etc. Pre-Processors basically enable you to apply basic programming logic into CSS by allowing you to throw in mixins/variables/nested styles/looping and so forth. The styles have to be written using the specific syntax for the particular pre-processor you are using and have to be installed on the server through command line then converted to plain old CSS.
I am by no means an expert on pre-processors as I’ve never actively used them on any web project I’ve ever worked on but, honestly, I’ve never needed to or feel that I ever will need to in the future. My question is – why add unnecessary extra complexity to something that works perfectly (when done right).
With CSS I know exactly what goes into my stylesheet and what comes out in the browser, my code isn’t compiled or minimised or re-arranged in any way. I make full use of cascading and inheritance to keep my stylesheet as short as possible and it works for everything I need to do – if it’s not broke don’t fix it!
I know many will consider my way of working to be old fashioned and not keeping up to date with ‘cutting-edge’ new technologies but, frankly, I don’t think I’ll lose any sleep over it.