AVIF has landed
8.9.2020
Everybody is talking about AVIF today because of Jake’s blog post. As the say, I was today years old when I learned AVIF was a thing. But thanks to web technology being ahead of the game for once, we can already take advantage of it.
This will be easier if you’ve abstracted your...
One Action, Multiple Terminal Windows Running Stuff
8.9.2020
Many development environments require running things in a terminal window. npm run start, or whatever. I know my biggest project requires me to be running a big fancy Docker-based thing in one terminal, Ruby on Rails in another, and webpack in another. I’ve worked on other projects that...
Jetpack 8.9: Take Donations, Capture Email Subscribers, AMP integration, and More
8.9.2020
(This is a sponsored post.)
Jetpack 8.9 shipped on September 1 and it shows why the plugin continues to be the premier way to take a WordPress site from good to holy smokes! Several new features are packed into the release, but a few really stand out.
Take donations with a new block
The first...
Menu Reveal By Page Rotate Animation
8.9.2020
There are many different approaches to menus on websites. Some menus are persistent, always in view and display all the options. Other menus are hidden by design and need to be opened to view the options. And there are even additional approaches on how hidden menus reveal their menu items. Some...
All the Ways to Make a Web Component
7.9.2020
This is a neat page that compares a ton of different libraries with web components. One of the things I learned after posting “A Bit on Web Components Libraries” is that the web platform APIs were designed for libraries to be built around them. Interesting, right?
This page makes...
Import Non-ESM libraries in ES Modules, with Client-Side Vanilla JS
7.9.2020
We’re living through a weird era where there are tons of JavaScript libraries that were meant to be used as <script> tags that expose available globals. AND there are tons of JavaScript libraries that are meant to be used through module loaders. AND there are tons of JavaScript...
Working with JavaScript Media Queries
7.9.2020
What’s the first thing that comes to mind when you think of media queries? Maybe something in a CSS file that looks like this:
body {
background-color: plum;
}
@media (min-width: 768px) {
body {
background-color: tomato;
}
}
CSS media queries are a core ingredient in any responsive...
Using max() for an inner-element max-width
7.9.2020
I go into all this in The “Inside” Problem. The gist: you want an edge-to-edge container, but the content inside to have a limited width. I think there is absolutely no problem using a nested element inside, but it’s also fun to look at the possibilities of making that work on...
WDRL — Edition 283: We decide what’s our future.
4.9.2020
Hey,
Wow, time flies and I realise that I not only negelected this newsletter for a long time but since I started the draft for this edition, nearly two months of life happened. I’ll have to see how often I can write this again but the goal is to just publish it when I write the draft and not...
Beyond Media Queries: Using Newer HTML & CSS Features for Responsive Designs
4.9.2020
Beyond using media queries and modern CSS layouts, like flexbox and grid, to create responsive websites, there are certain overlooked things we can do well to make responsive sites. In this article, we’ll dig into a number tools (revolving around HTML and CSS) we have at the ready, from responsive...
Supercharging Number Inputs
4.9.2020
Speaking of number scrubbing (i.e. adding mouse UX to number inputs), you can also add better keyboard commands to number inputs. Kilian Valkhof explains how he added up and down arrows to a number input, as well as modifier keys to change how much the keys increment the value, like Emmet does....
Stroke Text CSS: The Definitive Guide
4.9.2020
Whenever I think of stroked text on the web I think: nope.
There is -webkit-text-stroke in CSS for it, but it places that stroke in the middle of the vector outline of the characters, absolutely ensuring that the character doesn’t look right. Just look at this in Chrome or Safari. Gross....