🎁 I have a little Black Friday gift for y'all! ✨

For the next couple days, you can check out the first few lessons from the Flexbox module in my CSS course, “CSS for JavaScript Developers”. 😄

Check it out here:
courses.joshwcomeau.com/css-for-js/04-…

(No signup required! Totally open.) Screenshot of the course pl...
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.
Lesson II, “Directions and Alignment”, is all about how to control the placement of items. By the end of this lesson, you'll know exactly what the difference is between "justify" and "align", as well as the difference between "content" and "items".
In Lesson III, we learn about some of my favourite Flexbox tricks. We see how baseline alignment lets us align text of different font sizes, and how to use `align-self` to tweak individual children.

We use these skills to build a chat UI: Screenshot of a chat UI sho...
This “Black Friday Open House” offers a sneak peek at the course content, so you can decide if you like the format / my teaching style.

Please keep in mind, though: CSS for JavaScript Developer includes more than 200 lessons. You're only seeing the tip of the iceberg. ❄️
You can check out the Open House here:
courses.joshwcomeau.com/css-for-js/04-…

If you enjoy the preview, you can learn more about the full course here:
css-for-js.dev
Next Tuesday, the Open House shuts its doors, and the price of the course will rise by US$50, permanently.

So, if you enjoy the free preview / have been thinking of picking up a copy, you might wanna nab it sooner rather than later!
Also, just for fun, I decided to make some gold letters in Blender 😄 The words "Black Frida...

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Josh W. Comeau

Josh W. Comeau Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @JoshWComeau

28 Nov
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.
Read 10 tweets
4 Oct
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.
Read 13 tweets
1 Oct
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).

web.dev/learn/css/
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.

smashingmagazine.com/2019/01/how-to…
Read 7 tweets
13 Sep
🎉 Brand-new blog post just published, all about creating lush, life-like shadows in CSS.

Check it out here:
joshwcomeau.com/css/designing-…

Or, keep reading for some highlights. 👇 Two white boxes with shadows. One has a grey boxy shadow, th
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.
Read 8 tweets
30 Aug
The final module in my CSS course, “Little Big Details”, should go out to all Early Access testers today 🎉

Now that all of the core content is completed, I wanted to take a second and tally it all up.

🧵 A thread about numbers… Screenshot of a Github PR showing 10,632 lines of code added
The course features a bunch of different types of content: videos, articles, exercises, minigames, workshops.

• There are >150 videos as part of the core curriculum, and another dozen videos as part of the Video Archive (and growing!)
• There are 226 individual MDX lessons, with about 150,000 words*

*The calculated total is closer to 170k, but that includes code snippets and MDX components, so I'm guessing it's actually ~150k
Read 12 tweets
26 May
🌠 It's so easy to get sucked into performance micro-optimization territory.

Someone will say that Method X is slow, and inevitably somebody else will point out that it doesn't really matter outside of contrived, unrealistic benchmarks.

🧵 I wanna dig into that a bit…
Here's an example. We have a list of users, and we wanna filter so that we only show the people who are online.

We can do that with a "filter", or with a "reduce", or with a "forEach". Which is faster? Does it matter? Why or why not?

Code: codesandbox.io/s/crazy-herman… Screenshot of code snippet, taken from linked CodeSandboxScreenshot of a grid full of random names, taken from the re
Well, we can measure how long it takes!

Browsers come with a "Performance" API that lets us take high-res snapshots, offering sub-millisecond precision, so we can measure small gaps.

Here's what that code looks like: Screenshot showing some additional time measuring code, from
Read 22 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Thank you for your support!

Follow Us on Twitter!

:(