PSA: Web browsers only understand pure, unadulterated CSS. All of the fancy tools we use — Bootstrap, Tailwind, Sass, CSS-in-JS libs — produce vanilla CSS for the browser.
If you want to be productive with these tools, you *need* to understand how CSS works.
I think a lot of developers think that these tools are shortcuts, as though you can learn them instead of learning CSS. But that's not actually true.
These tools are meant to *amplify* your CSS skills, not replace them!
Here's one big reason why: when things go awry, and you need to debug an interface that isn't right, the browser devtools will show you the CSS that has been applied. Not the Material UI components / Tailwind classes.
Even if you don't *write* CSS, you still need to *debug* CSS.
There are quirks and mechanisms in CSS that will affect you no matter which tool you use. Margins still collapse. Stacking contexts and scroll containers and containing blocks are all still present, no matter how many layers of abstraction they're buried under.
To be clear, I'm not anti-tool. I've used and loved lots of different CSS tools! But like I said, they amplify my CSS skills. They don't replace them.
Think of it like a fancy mechanical keyboard; it can enhance the typing experience, but you still need to learn how to type!
• • •
Missing some Tweet in this thread? You can try to
force a refresh
I'm in the process of trying to rent some office space and my god, I've never seen an industry in such need of disruption 😅
Today's challenge is finding a company that will issue business liability insurance, a requirement for commercial leases. Unlike every other kind of insurance I've ever purchased, it can't be done online. You need to call and talk to people. LOTS of people.
I've learned that different insurance companies insure different kinds of businesses. The company I just spoke with, after being redirected 3 times, told me they can't do it because I sell products internationally, and they don't work with international businesses (??).
I feel like there's a lot of hype about web3 on Twitter, and it might give folks the impression that they *need* to switch gears and start learning this stuff if they want to stay relevant.
I wanna push back on this a bit. I think you'll be just fine if you ignore the web3 hype.
I have no idea whether web3 will become the new standard. I would be surprised if it does, but I've been surprised before. 🤷♂️
But even if it does, it won't happen overnight, and the eventual technology will look very different from what people are learning today.
Let's imagine it's 1999, and you're bullish on this new "web 2.0" craze. You want to build a rich interactive web application. So you decide to learn the most bleeding-edge language of the era, Java.
Most "web 2.0" sites today are not built using Java.
I picked these lessons specifically because I think they have good standalone value. I bet you'll learn a thing or two from them!
(Also: these lessons have never been publicly available before! I did a similar “Open House” thing during the launch, but w/ different content.)
In Lesson I, “Hello Flexbox”, we talk about Flexbox's origins, why it's still relevant today, when to use Flexbox vs. Grid. We also look at a quick example, and see how the layout mode works.
For most of the web, the text is the most important thing on the page.
🧵 Let's look at some of the stuff I've learned for keeping our text readable + accessible for everyone.
For folks with poor vision, larger text will help them be able to read.
There are two primary ways to increase font size: 1. Using the browser "zoom" controls (cmd/ctrl +, cmd/ctrl –) 2. Picking a larger default font size in the browser settings
Browser zoom works with most units, including px, em, and rem. It doesn't work with viewport units (vw/vh).
Scaling the default font size only works with em/rem/%.
So, while it's not as bad as it used to be, we still shouldn't use px for typography.
So, I'm biased, and I think that my CSS course is the best way to level-up your CSS skills… but even *I* have to admit, there are TONS of great free resources!
Sharing some of my favourites in this thread, in case CSS for JavaScript Developers isn't within your budget.
👇
1. Google recently released Learn CSS, a wonderful tour through the fundamentals of the CSS language. It's built by a superstar team (including @Una@rachelandrew@piccalilli_ and @argyleink).
2. @rachelandrew goes through the fundamental principles of the CSS language in this fantastic blog post, “How To Learn CSS”. It's short and concise, and it links off to additional resources in each section.
First, I wanna clarify that this isn't all just about aesthetics. It's important to understand *why* shadows are such a powerful tool.
Shadows give our application depth and realism, and let us focus attention by elevating important elements.
In the past, when I wanted to add a shadow, I'd play with the numbers until I liked the way it looked. As a result, I had a mess of incongruous shadows, breaking the overall illusion of depth 😅
We can avoid this problem by understanding how shadows work.