Search
How many CSS properties are there?
15.1.2020
Tomasz Łakomy posted a joke tweet about naming all the CSS attributes and Tejas Kumar replied with a joke answer, going as far as making an npm module. You can even run a terminal command to see them:
npx get-all-css-properties
You'll get 259 of them. The source code uses the website quackit.com...
A Trick That Makes Drawing SVG Lines Way Easier
14.1.2020
When drawing lines with SVG, you often have a <path> element with a stroke. You set a stroke-dasharray that is as long as the path itself, as well as a stroke-offset that extends so far that you that it's initially hidden. Then you animate the stroke-offset back to 0 so you can watch...
Snowpack
14.1.2020
Snowpack. Love that name. This is the new thing from the Pika people, who are on to something. It's a bundler alternative, in a sense. It runs over packages you pull from npm to make sure that they are ES module-compatible (native imports).
This is how I digest it. When you write a line of code...
Collective #580
13.1.2020
React-three-fiber v4 * /uses * Goodbye, Clean Code * Aria Tablist * Theme UI Gallery
Collective #580 was written by Pedro Botelho and published on Codrops
Re-creating the ‘His Dark Materials’ Logo in CSS
11.1.2020
The text logo has a slash cut through the text. You set two copies on top of one another, cropping both of them with the clip-path property.
What's interesting to me is how many cool design effects require multiple copies of an element to do something cool. To get the extra copy, at least with...
CSS-Only Carousel
10.1.2020
It's kind of amazing how far HTML and CSS will take you when building a carousel/slideshow.
Setting some boxes in a horizontal row with flexbox is easy.
Showing only one box at a time with overflow and making it swipable with -webkit-overflow-scrolling is easy.
You can make the "slides" line...
Is it better to use ems/rems than px for font-size?
10.1.2020
The answer used to be absolutely yes because, if you used px units, you prevented the text from being resized by the user at all.
But browser zoom is the default method for making everything bigger (including text) these days and it works great even if you use px.
But... Kathleen McMahon really...
Understanding Async Await
9.1.2020
When writing code for the web, eventually you'll need to do some process that might take a few moments to complete. JavaScript can't really multitask, so we'll need a way to handle those long-running processes.
Async/Await is a way to handle this type of time-based sequencing. It’s especially great...
let vs. const
9.1.2020
There are multiple ways to declare variables in JavaScript. We had var, and while that still works like it always has, it is generally said that let and const are replacements to the point we rarely (if ever) need var anymore. This doodle explanation does a pretty good job, if you need...
The Ultimate Guide to Dark Mode for Email Marketers
7.1.2020
On the regular web (I suppose) we handle "dark mode" with the CSS prefers-color-scheme media query. But, and to nobody's surprise, it's way weirder in the land of HTML email. The weirdness is that across different email clients, they handle the dark mode thing differently, starting with the fact...
How to Stack Elements in CSS
6.1.2020
If you want to create fantastic and unique visual experiences on the web, you will eventually need two elements to overlap or exist in the same place. You may even just need them to be positioned near or next to each other. Let's go over two different ways to accomplish this, one with the position...
SLP Devs Publish Code Bounties With $2,500+ in Crypto Rewards
5.1.2020
While a number of software developers work on the Simple Ledger Protocol (SLP) framework, SLP devs are still looking for other contributors to help foster the protocol’s ecosystem. In order to help bolster SLP development, the simpleledger.cash website has published requests for bounties...
Is “is” Useful?
3.1.2020
God I'm funny.
Anytime we have fairly repetitive selectors that have a common parent, it's probably a place we can use the :is() pseudo-selector.
Holger Bartel demonstrates like this:
section section h1, section article h1, section aside h1, section nav h1,
article section h1, article article...
Gotta Select’em All
3.1.2020
I suspect it is not highly known that CSS can control how text is selected. You can do user-select: none; to prevent some text from being selected. That's probably not terribly good UX in general, but perhaps you use some period (.) characters as decoration or something, I could see preventing...
A Deep Dive Into Satoshi’s 11-Year Old Bitcoin Genesis Block
3.1.2020
11 years ago today, Satoshi Nakamoto launched the Bitcoin network at approximately 18:15:05 UTC and the world hasn’t been the same since. The Bitcoin blockchain came to life on January 3, 2009, and so far, more than 600,000 blocks have been mined into existence. Nakamoto’s genesis block...
Neal.fun
2.1.2020
Hats off to Neal Agarwal for some stellar interactive work lately, like The Deep Sea, a vertical scrolling experience to help us understand the depth of the oceans, and The Size of Space, a side-scrolling experience to help us understand the size scale of things in the universe (check out Josh...
New Year, New Job? Let’s Make a Grid-Powered Resume!
1.1.2020
Many popular resume designs are making the most of the available page space by laying sections out in a grid shape. Let’s use CSS Grid to create a layout that looks great when printed and at different screen sizes. That way, we can use the resume online and offline, which might come in handy during...
A Use Case for a Parent Selector
31.12.2019
Having a "parent selector" in CSS is mentioned regularly as something CSS could really use. I feel like I've had that thought plenty of times myself, but then when I ask my brain for a use case, I find it hard to think of one. Well, I just had one so I thought I'd document it here.
A classic...
Embedded Content in Markdown
31.12.2019
Markdown supports HTML, so if you need to, say, embed a YouTube video, you can just copy and paste the embed code from them, drop it into a Markdown document, and you should be good to go. With YouTube specifically, there are other options. But in general, you don't need to do anything special...
A CSS Tribute to SVG
31.12.2019
This demo from Jérémie Patonnier is incredible. Make sure to look at it in Firefox because some Chrome bug apparently prevents the entire thing from working.
The big idea is that the entire demo is one <rect> element. That's it. It is duplicated with <use> elements when needed,...