Menu

CSS

Make it Personal

December 11th, 2020

One thing I noticed about building websites in 2020: despite all the social networks and publishing platforms craving our content, our stories, and our attention, people are somehow still building personal websites. Over the course of the year, many of you have launched or relaunched your website. It indeed feels like the personal website is…

Using CSS Custom Properties to Adjust Variable Font Weights in Dark Mode

December 10th, 2020

Black isn’t always slimming. All of my page text — headings and body copy — appeared to bulk up when I switched to dark mode. And it didn’t matter what fonts I used or which browsers I tried. The same thing happened with all of them. For example, here’s what happens with Adobe’s Source Sans…

Web Performance Calendar

December 7th, 2020

The Web Performance Calendar just started up again this year. The first two posts so far are about, well, performance! First up, Rick Viscomi writes about the mythical “fast” web page: How you approach measuring a web page’s performance can tell you whether it’s built for speed or whether it feels fast. We call them…

Native CSS Masonry Layout In CSS Grid

November 30th, 2020

Rachel Andrew introducing the fact that masonry layout is going to be a thing in native CSS via CSS grid layout. The thing with masonry is that we can already do it for the most part, but there is just one thing that makes it hard: doing the vertical-staggering and having a left-to-right source order….

A Complete State Machine Made With HTML Checkboxes and CSS

November 27th, 2020

State machines are typically expressed on the web in JavaScript and often through the popular XState library. But the concept of a state machine is adaptable to just about any language, including, amazingly, HTML and CSS. In this article, we’re going to do exactly that. I recently built a website that included a “no client…

DRY-ing up styled-components

November 23rd, 2020

I like working with styled-components. They allow you to write CSS in your JavaScript, keeping your CSS in very close proximity to your JavaScript for a single component. As a front-end developer who loves to dissect a web page and break it down into reusable components, the idea of styled-components brings me joy. The approach…

A Dynamically-Sized Sticky Sidebar with HTML and CSS

November 20th, 2020

Creating page content that sticks to the viewport as you scroll, something like a jump-to-anchor menu or section headings, has never been easier. Throw a position: sticky into your CSS ruleset, set the directional offset (e.g. top: 0) and you’re ready to impress your teammates with minimal effort. But sticky positioning can get a bit…

Color Theming with CSS Custom Properties and Tailwind

November 19th, 2020

Custom properties not only enable us to make our code more efficient but allow us to work some real magic with CSS too. One area where they have huge potential is theming. At Atomic Smash we use Tailwind CSS, a utility class framework, for writing our styles. In this article, we’ll look at how custom…

A Complete Guide to CSS Gradients

November 16th, 2020

The background-size property in CSS is one of the most useful — and most complex — of the background properties. There are many variations and different syntaxes you can use for this property, all of which have different use cases. Here’s a basic example: html { background: url(greatimage.jpg); background-size: 300px 100px; } That’s an example…

Mixing Colors in Pure CSS

November 16th, 2020

Red + Blue = Purple… right? Is there some way to express that in CSS? Well, not easily. There is a proposal draft for a color-mix function and some degree of interest from Chrome, but it doesn’t seem right around the corner. It would be nice to have native CSS color mixing, as it would…