rssed

a collection of dev rss feeds - blogroll

Add a new feed

+

167 feeds


Josh Comeau's blog

Posts

Next-level frosted glass with backdrop-filter ๐Ÿ”—

Glassy headers have become a core part of the โ€œslick startupโ€ UI toolkit, but theyโ€™re all missing that final 10% that really makes it shine. In this t [...]

A Framework for Evaluating Browser Support ๐Ÿ”—

Lots of exciting new features have been landing in CSS recently, and it can be tough trying to figure out if theyโ€™re safe to use or not. We might know [...]

A Friendly Introduction to Container Queries ๐Ÿ”—

Itโ€™s been a couple of years since container queries started landing in browsersโ€ฆ so why isnโ€™t anyone using them? It turns out that container queries a [...]

How I Built My Blog ๐Ÿ”—

I recently launched a brand new version of this blog, and in this post, I share how itโ€™s built! Weโ€™ll examine the tech stack and see how all of the pi [...]

The Undeniable Utility Of CSS :has ๐Ÿ”—

Of all the latest and greatest CSS features, the โ€œ:hasโ€ pseudo-class wasnโ€™t exactly at the top of my wishlist. Once I started using it, however, I kep [...]

Promises From The Ground Up ๐Ÿ”—

The โ€œPromisesโ€ API is a surprisingly tricky part of modern JavaScript. Without the right context, it doesnโ€™t make much sense at all! In this tutorial, [...]

Snappy UI Optimization with useDeferredValue ๐Ÿ”—

useDeferredValue is one of the most underrated React hooks. It allows us to dramatically improve the performance of our applications in certain contex [...]

CSS in React Server Components ๐Ÿ”—

You canโ€™t make an omelette without cracking a few eggs, and when the core React team unveiled their vision for the future of React, some of my favouri [...]

How To Center a Div ๐Ÿ”—

Back in the day, centering an element was one of the trickiest things in CSS. As the language has evolved, weโ€™ve been given lots of new tools we can u [...]

An Interactive Guide to CSS Grid ๐Ÿ”—

CSS Grid is an incredibly powerful tool for building layouts on the web, but like all powerful tools, there's a significant learning curve. In this tu [...]

Understanding the JavaScript Modulo Operator ๐Ÿ”—

One of the most commonly-misunderstood operators is Modulo (%). In this tutorial, we'll unpack exactly what this little bugger does, and learn how it [...]

Making Sense of React Server Components ๐Ÿ”—

This year, the React team unveiled something they've been quietly researching for years: an official way to run React components exclusively on the se [...]

Animated Pride Flags ๐Ÿ”—

Happy Pride month! In this tutorial, I'll share a handful of my favourite animation tricks. You'll learn how to build an animated wavy pride flag usin [...]

The โ€œconstโ€ Deception ๐Ÿ”—

The โ€œconstโ€ keyword in JavaScript is used to create constants, variables that can't change. Curiously, though, we do seem to be able to edit objects a [...]

The End of Front-End Development ๐Ÿ”—

Large language models like GPT-4 are becoming increasingly capable, at an alarming rate. Within a couple of years, we won't need developers any more! [...]

Common Beginner Mistakes with React ๐Ÿ”—

I used to teach React at a local coding bootcamp, and I noticed that students kept getting tripped up by the same handful of things. In this article, [...]

Data Binding in React ๐Ÿ”—

As developers, we don't like working with forms, but they're a critical part of most web applications! In this tutorial, you'll learn exactly how to w [...]

Color Formats in CSS ๐Ÿ”—

CSS gives us so many options when it comes to expressing colorโ€”we can use hex codes, rgb, hsl, and more. Which option should we choose? This turns out [...]

An Interactive Guide to Flexbox ๐Ÿ”—

When we truly learn the secrets of the Flexbox layout mode, we can build absolutely incredible things. Fluid layouts that stretch and shrink without a [...]

A World-Class Code Playground with Sandpack ๐Ÿ”—

No developer blog or technical documentation site is complete without an interactive code playground. The CodeSandbox team recently released a wonderf [...]

Understanding useMemo and useCallback ๐Ÿ”—

What's the deal with these two hooks?! Lots of devs find them confusing, for a whole host of reasons. In this tutorial, we'll dig deep and understand [...]

Why React Re-Renders ๐Ÿ”—

In React, we don't update the DOM directly, we tell React what we want the DOM to look like, and React tackles the rest. But how exactly does it do th [...]

Statements Vs. Expressions ๐Ÿ”—

One of the most foundational things to understand about JavaScript is that programs are made up of statements, and statements have slots for expressio [...]

My Wonderful HTML Email Workflow ๐Ÿ”—

If you've ever had the misfortune of being tasked with building a template for HTML emails, you know it's tricky business! In this blog post, I share [...]

The Surprising Truth About Pixels and Accessibility ๐Ÿ”—

โ€œShould I use pixels or rems?โ€. In this comprehensive blog post, we'll answer this question once and for all. You'll learn about the accessibility imp [...]

You Donโ€™t Need a UI Framework ๐Ÿ”—

As developers, it can be tempting to grab a pre-styled UI framework like Material UI or Bootstrap. Seems like a great way to outsource design and save [...]

The Front-End Developer's Guide to the Terminal ๐Ÿ”—

If you want to learn a modern JavaScript framework like React or Angular, you better be familiar with the terminal! So many frameworks and tools assum [...]

Understanding Layout Algorithms ๐Ÿ”—

As front-end developers, we often learn CSS by focusing on individual properties. Instead, we should focus on how the language uses those properties t [...]

Delightful React File/Directory Structure ๐Ÿ”—

How should we structure components and other files in our React apps? I've iterated my way to a solution I'm really happy with. In this blog post, I'l [...]

Make Beautiful Gradients ๐Ÿ”—

Have you ever noticed that gradients tend to look a little gray and washed-out in the middle? This happens because of a mathematical quirk with RGB co [...]

A Modern CSS Reset ๐Ÿ”—

I have a set of baseline CSS styles that come with me from project to project. In the past, I'd use a typical CSS reset, but times have changed, and I [...]

Introducing โ€œShadow Palette Generatorโ€ ๐Ÿ”—

In order to create lush, realistic shadows in CSS, we need to use multiple layers and colors. How do we come up with all of the parameters, though? I' [...]

Designing Beautiful Shadows in CSS ๐Ÿ”—

When I look around the web, most of the shadows I see are fuzzy grey boxes. It doesn't have to be this way, though! CSS gives us the tools to create r [...]

An Interactive Guide to Keyframe Animations ๐Ÿ”—

CSS keyframe animations are incredibly flexible and powerful, but theyโ€™re also a bit weird. In this deep-dive tutorial, we'll learn how CSS keyframes [...]

The World of CSS Transforms ๐Ÿ”—

The โ€œtransformโ€ property is such a powerful part of the CSS language! In this blog post, we'll take a deep look at this property and see some of the n [...]

How To Learn Stuff Quickly ๐Ÿ”—

As software developers, we're always learning new things; it's practically the whole gig! If we can learn to quickly pick up new languages/frameworks/ [...]

Demystifying styled-components ๐Ÿ”—

For so many React devs, styled-components seems kinda magical. It isn't at all clear how it uses traditional CSS features under-the-hood, and that lac [...]

How I Built My Blog ๐Ÿ”—

An in-depth look at the technical stack behind this very blog! We'll see how I use Next's API routes to implement my hit and like counters, how I use [...]

Building a Magical 3D Button ๐Ÿ”—

Every action we take on the web starts with a button click, and yet most buttons are ho-hum and uninspired. In this tutorial, we'll build an animated [...]

The Importance of Learning CSS ๐Ÿ”—

I know so many super-talented developers who share the same achilles heel: CSS. Instead of trying to โ€œoutrunโ€ CSS, this article explores why leaning i [...]

What The Heck, z-index?? ๐Ÿ”—

The z-index property can be a tricky little bugger. Sometimes, no matter how much you crank up the number, the element never rises to the top! In this [...]

An Interactive Guide to CSS Transitions ๐Ÿ”—

This comprehensive guide shows how to use CSS transitions! A back-to-basics look at the fundamental building blocks we need to create microinteraction [...]

The styled-components Happy Path ๐Ÿ”—

styled-components is a wonderfully powerful styling library for React, and over the years I've learned a lot about how to use it effectively. This art [...]

Let's Bring Spacer GIFs Back! ๐Ÿ”—

The 90s web gave us many delightful things: web rings, guestbooks, โ€œunder constructionโ€ animations, and spacer GIFs. In this article, we'll see how I [...]

Refreshing Server-Side Props ๐Ÿ”—

Next allows you to do server-side data-fetching, but what happens when that data needs to change on the client? This brief tutorial shows how to re-fe [...]

The Rules of Margin Collapse ๐Ÿ”—

โ€œMargin collapseโ€ has a dastardly reputation, one of the trickier parts of CSS. Fortunately, it gets a lot easier once you learn a few rules! In this [...]

Boop! ๐Ÿ”—

An in-depth tutorial that teaches how to create one of the most adorable interactions I've ever created. We'll learn how to use React components and h [...]

Chasing the Pixel-Perfect Dream ๐Ÿ”—

Is it possible to create an implementation of a design that matches to-the-pixel? Well, not really, but that shouldn't discourage us! In this article, [...]

Hands-Free Coding ๐Ÿ”—

Earlier this year, I lost the ability to use a keyboard and mouse for extended periods. Fortunately, this wasn't as catastrophic as it sounds! This ar [...]

Full-Bleed Layout Using CSS Grid ๐Ÿ”—

Certain layouts are surprisingly dastardly. On the modern web, one of the most common layouts is also one of the trickiest. In this tutorial, I break [...]

A Friendly Introduction to Spring Physics ๐Ÿ”—

Of all the little tips and techniques I've picked up over the years about animation, spring physics remains one of the most powerful and flexible. In [...]

Local Testing on an iPhone ๐Ÿ”—

Learn how to set up an ideal workflow for debugging your development server on your iPhone. This may not be the most exciting topic I've written about [...]

Animated Sparkles in React ๐Ÿ”—

In this dazzling tutorial, we'll see how to build an animated component. Wrap it around text or images and watch them twinkle! This neat trick is a p [...]

Lessons Learned Speaking at Conferences ๐Ÿ”—

Speaking at conferences is equal parts exciting and terrifying. This article is a behind-the-scenes look at what the experience is like, and shares ti [...]

Accessible Animations in React ๐Ÿ”—

I really love animation, but not everybody does. In fact, it can make some people literally sick! In this tutorial, we'll see how to ensure that we re [...]

Why My Blog is Closed-Source ๐Ÿ”—

In our community, it's so common for developer projects to be open-source. I'm breaking with this trend for my blog, but I have good reasons! In this [...]

The Quest for the Perfect Dark Mode ๐Ÿ”—

Dark Mode has become common enough that it's a user expectation. And yet, creating the perfect dark mode with a statically-built site/app is deceptive [...]

CSS Variables for React Devs ๐Ÿ”—

CSS variables are *really* cool, and they're incredibly powerful when it comes to React! This tutorial shows how we can use them with React to create [...]

Styling Ordered Lists with CSS Counters ๐Ÿ”—

Styling an ordered list can be surprisingly tricky; there's no way to get at that bullet! In this tutorial, we'll see a handy trick using CSS counters [...]

Announcing โ€œuse-soundโ€, a React Hook for Sound Effects ๐Ÿ”—

By and large, using the web is a visual experience. This is in terrible contrast to mobile apps, which interact with three of our human senses (sight, [...]

Becoming a Software Developer Without a CS Degree ๐Ÿ”—

A look at how hundreds of developers got their start in the industry despite not having a Computer Science or Software Engineering degree. We'll sort [...]

The Perils of Hydration ๐Ÿ”—

A surprisingly-common misconception can lead to big rendering issues that are difficult to debug. This deep-dive tutorial examines how React and Gatsb [...]

Persisting React State in localStorage ๐Ÿ”—

A common thing in React development is that we want to store a bit of React state in localStorage, and re-initialize from that value on the next page- [...]

Effective Collaboration with Product and Design ๐Ÿ”—

How we work with design can have a tremendous impact on our overall output, and yet we don't always treat it as very important. A look at how collabor [...]

Magical Rainbow Gradients ๐Ÿ”—

If you've ever tried to animate a gradient, you've been met with a harsh realityโ€”it isn't possible. At least, it wasn't! In this tutorial, we'll lever [...]

Finding your first remote job ๐Ÿ”—

As remote work becomes increasingly popular, I am frequently asked how to get started. This article shares everything I know about landing that first [...]

My experience as a remote worker ๐Ÿ”—

I've spent half of my career working remotely. This post chronicles those experiences, giving a real-world window into what it's like to work fully-re [...]

Clever Code Considered Harmful ๐Ÿ”—

As engineers, it can be really satisfying for us to implement clever, terse solutions to problems, relying on advanced tricks and techniques. As a res [...]

Folding the DOM ๐Ÿ”—

In this post, we'll explore a technique we can use to "fold" a DOM node, like folding a letter in real-life. On that journey, we'll learn a lot about [...]

Dynamic Bรฉzier Curves ๐Ÿ”—

A deep dive into Bรฉzier curves in React. We'll look at how to build dynamic effects such as scroll-to-flatten using SVG path instructions, and how to [...]

Animating the Unanimatable ๐Ÿ”—

An in-depth look at the surprisingly complicated problem of animating the transition when two items in a list swap positions. [...]