Use the full frontend or create junk

A manifesto against the "I Hate HTML/CSS" movement

When a rock band clicks, the art they create is enjoyed through the ages.

Isn’t that lead guitar so fun? Don’t you just soar along with that solo?

Let’s listen to it all by itself.

Not nearly as fun. The backing track, with the bass, drums, and rhythm guitars are all critical to that feeling. When the band works together, they make something bigger than they are individually, no matter how big their individual talents.

The frontend of web development is a rock band. It’s made up of HTML, CSS, and JavaScript.

JavaScript is the lead guitar and the singer. Without one or both of these, you’re not a rock band. This is where all of the fun happens.

CSS is the rhythm guitar. Rhythm guitarists keep the music driving. They fill in all of the harmony and chord holes under the solos and singing. They rarely get the glory, but they’re critical to overall sound of the band.

HTML, therefore, is the bass and drums. Can you imagine a rock band without bass and drums? They’re so pervasive in the music that they’re notable in their absence, even if you never listen for the drums or bass specifically.

A rock band is nothing when missing any of these elements, and it’s as weak as its weakest member. Each contributes something wildly different to the mix, and the sound is just wrong when any of them are missing.

Why, therefore, do we continue to trash HTML and CSS? Why do we insist that JavaScript is the only element in this band, and that HTML and CSS are not worth learning?

The best lead guitarists know they’re nothing without the backing track. Even if the lead guitarist has no desire to play anything else, she still knows that an amazing bassist and a crazy talented rhythm guitarist is critical to producing her own best art.

Likewise, those who use the bare minimum of HTML elements, who destroy the cascade and inheritance, who insist that HTML and CSS is something to minimize as much as possible, fail to realize that without all three languages of the frontend maximized to their greatest extent, you’ve got nothing at all. What are you sacrificing with half-assed HTML and crumbling CSS? What are you retrofitting and compensating for in your JavaScript?

And why are you working so dang hard, when HTML and CSS ought to be picking up the slack?


Join me for 30 Days of HTML to start making a difference in your own learning. Develop an appreciation for the full HTML vocabulary, including its proper use, critical attributes, and examples and additional reading.

It starts on April 1, 2021.

Share 30 Days of HTML