CSS is the code of graphic designers
I recently started reading the book Inclusive Components by Heydon Pickering. I haven't got too far into it, but it's been interested so far.
Before he gets into the nitty gritty though, there was a line that really stood out to me:
But the code of the web is not all the code of classical computer science, and should not be judged on the same terms. HTML is the code of writers, and CSS the code of graphic designers. Writers and designers are best positioned to write those kinds of code.
I love this so much.
CSS often get's a bad wrap from people who come from computer science backgrounds. People seek ways to "fix" the problems with CSS, namely the global scope of CSS.
And while everyone I can see how the global scope of CSS can get in the way from time to time, I honestly see it more as a feature than anything else.
I'm a designer by trade (or was, I'm a teacher now), who got into web design as well. I studied and worked in print for years though. CSS for me is just another design tool. I wonder if, because I see it and use it as a design tool, I see approach CSS in a different way than someone coming from a computer science background might see it.
Now, I know a lot of designers who get frustrated with HTML & CSS because it's less intuitive than a GUI where you can simply click and drag, and while that's true, I think the limitations of CSS are what help push me as a designer as well.
It's one of the reasons I love learning about some of the more obscure CSS properties.
While CSS limits what we can do to a certain extent, whenever you find more fringe properties or pseudo-classes, they open up these little doors where you can help enhance the user experience just a little. They don't unlock this whole new world of design, but they get the designer in me really thinking about fun ways they could be used in order to do something fun.
I really believe that CSS is a fantastic language that just keeps getting better, and I do think that it's the langauge of a graphic designer more than anything else, and it's one of the reasons that "full-stack" developers struggle with it so much.