I always seem to come across developers or young designers who believe the only thing preventing them from producing good design is learning CSS. Comments like “That’s simple, CSS is easy” or “I’d clean up the interface, but I don’t know CSS” completely ignore the core of what design is. Yes, CSS is incredibly easy. There are numerous tricks and, dare I say it, best practices that can be realized over time, but in general, CSS is a very easy language.
But CSS is only a means toward bringing a vision to life. It doesn’t do problem solving, it has no creativity, and it cannot satisfy client needs by itself. It’s a tool, just like any other language.
Design is hard because it demands mixing several concepts, ideas, and perspectives to produce a single, cohesive outcome. These aspects of design might include:
- Clearly defining the problem–the most important step!
- Determining the right solution, which often requires deep knowledge of the problem domain
- The proper typography for the intended audience and/or goal
- Understanding visual hierarchy
- Meshing with existing branding (aesthetically)
- Degrading gracefully
- Determining the breaking points on mobile platforms (responsive design)
- Figuring out what a client really wants
And then there are the technical aspects of executing a design, where CSS is one of the many components.
Design is far from easy, but it definitely isn’t hard because of CSS.