
Analyzing Notion app performance
Here’s a fantastic case study where Ivan Akulov looks at the rather popular writing app Notion and how the team might improve the performance in a variety of
1,103 articles from CSS-Tricks.

Here’s a fantastic case study where Ivan Akulov looks at the rather popular writing app Notion and how the team might improve the performance in a variety of

There's a series of questions I’ve struggled with for as long as I can remember. The questions have to do with design systems work: Where should we document

If you’ve ever wanted to add a pause between each iteration of your CSS @keyframes animation, you’ve probably been frustrated to find there’s no built-in way

Fresh from the Jetpack team at Automattic, today, comes Jetpack Scan. Jetpack Scan scans all the files on your site looking for anything suspicious or

Snook shows off a classic design with an oversized header up top, and a content area that is "pulled up" into that header area. My mind goes to the same place:

Rotated <table> column headers is something that’s been covered before right here on CSS-Tricks, so shout-out to that for getting me started and helping

Increment is a beautiful quarterly magazine (print and web) published by Stripe "about how teams build and operate software systems at scale". While there is

Manuel Matuzović details 10 bad HTML patterns for a close button. You know, stuff like this:

Today at Jamstack_Conf, Netlify announced Build Plugins. What it does is allow you to have particular hooks for events within your build, like when the build

This guide is about the HTML syntax for responsive images (and a little bit of CSS for good measure). We'll go over srcset and , plus a whole bunch of things to consider to help you get the best performance and design control from your images.

The prototyping app Framer just launched the web version of their design tool and it looks pretty darn neat. I particularly love the design of the marketing

I was reading this article by Chris where he talks about block links — you know, like wrapping an entire card element inside an anchor — being a bad idea.

I'll be the first to admit that I'm writing this article, in part, because it's something I look up often and want to be able to find it next time. Formatting

When you use font-display: swap;, which Google Fonts does when you use the default &display=swap part of the URL , you're already saying, "I'm cool with

Apple is well-known for the sleek animations on their product pages. For example, as you scroll down the page products may slide into view, MacBooks fold open

I was reading Anna Kaley's "Listboxes vs. Dropdown Lists" post the other day. It's a fairly straightforward comparison between different UI implementations of

BugHerd is about collecting visual feedback for websites.

I made a Chrome extension this weekend because I found I was doing the same task over and over and wanted to automate it. Plus, I’m a nerd living through a

This has been the year of Gutenberg for us here at CSS-Tricks. In fact, that's a goal we set at the end of last year. We're much further along that I thought

Jeremy beating the classic drum:

It's interesting how third-parties are sometimes super involved in pushing browser things forward. One big story there was how Bloomberg hired Igalia to

It's not at the level of demand as, say, container queries, but being able to make "masonry" layouts in CSS has been a big ask for CSS developers for a long

Authentication (logging in!) is a crucial part of many websites. Let’s look at how to go about it on a site using Vue, in the same way it can be done with any

In CSS, line-height is probably one of the most misunderstood, yet commonly-used attributes. As designers and developers, when we think about line-height, we

A surprisingly common response when asking people about things they'd fix about anything in CSS, is to improve the handling of viewport units.

Everything is flexible these days. If you write grid-template-columns: 200px 200px 200px;, sure, you'd have equal-width columns, but that's a rare day. What

I was working on a project that had this neat jagged edge along the bottom of a banner image.

Shawn Wang is talking about RedwoodJS here:

Talk to anyone who has an active blog and I bet they'll tell you it's been valuable to them. Maybe it's opened doors. Maybe it's got them a job. Maybe it's

I'm a fan of building websites with the least amount of technical debt and things you have to be responsible for as possible for what you wanna do. Sometimes

There’s one aspect of JavaScript that always has me pulling my hair: closures. I work with React a lot, and the overlap there is that they can sometimes be

Some nice trickery from Knut Melvær.

Nice video from Kevin Powell. Here are some notes, thoughts, and stuff I learned while watching it. Right when they came out, I was mostly obsessed with

Peter Tasker on creating blocks right now:

The other day in "Static or not?" I said:

It's easy to think that working with Jamstack means working with some specific set of technologies. That's how it's traditionally been packaged for us. Think

Lists are a fundamental part of HTML! They are useful in things like blog posts for listing out steps, recipes for listing ingredients, or items in a

Like any other programming language, CSS has functions. They can be inserted where you’d place a value, or in some cases, accompanying another value declaration.

There have been a couple of viral tweets about this lately, one from Adam Argyle and one from Mathias Bynes. This is a nice change that makes CSS a bit more

Heydon's <watched-box> is a damn fantastic tool. It's a custom element that essentially does container queries by way of class names that get added to

Integration tests are a natural fit for interactive websites, like ones you might build with React. They validate how a user interacts with your app without

Hey hey, these "chronicle" posts are little roundups of news that I haven't gotten a chance to link up yet. They are often things that I've done off-site,

This is just a tiny little trick that might be helpful on a site where you don't have the time or desire to build out a really good on-site search solution.

There is no doubt that web forms play an integral role in our web site or applications. By default, they provide a useful set of elements and features — from

A quick opinion piece by Kev Quirk: Why I Don’t Use A Static Site Generator. Kev uses WordPress:

I expect this post from Tim Kadlec to be quoted in every performance conference talk for the next few years. There is a lot of data here, so please check it

The @property is totally new to me, but I see it's headed to Chrome, so I suppose it's good to know about!

Editor's Note: Chrome is prototyping a new feature for creating carousels directly in CSS, including scroll buttons and scroll markers for navigating between

There was just a bug late last year where system fonts (at least on Mac, I don't know what the story was on other platforms) in Chrome appeared too thin and

That title is from the opening tweet of a thread from Benjamin De Cock. I wouldn't go that far, myself. What I like about the term is that ‘Front-End’

In a previous article, we showed how to build a GraphQL API with FaunaDB. We've also written a series of articles explaining how traditional databases built

Matthias Ott's posted his VS Code setup. I find lists like this (I rounded up some recent updates of my own) irresistible, probably because, like y'all, I

Maintaining a large-scale CSS project is hard. Over the years, we've witnessed different approaches aimed at easing the process of writing scalable CSS. In

Interesting research from Dan Luu¹:

Here’s one simple, practical way to make apps perform better on mobile devices: always configure HTML input fields with the correct type, inputmode, and

Between each post of Eric Meyer’s blog there’s this rather lovely illustration that can randomly be one of these five options:

My favorite way to level up as a front-end developer is to do the work. Literally just build websites. If you can do it for money, great, you should. If the

Jetpack has had a search feature for a while. Flip it on, and it replaces your built-in WordPress search (which is functional, but not particularly good) with

Safari 13.1 just shipped support for CSS Shadow Parts. That means the ::part() selector is now supported in Chrome, Edge, Opera, Safari, and Firefox. We’ll

I linked up Water.css not long ago as an interesting sort of CSS framework. No classes. No <h2 class="is-title">. You just use semantic HTML and get