Search
An Explanation of How the Intersection Observer Watches
24.9.2019
There have been several excellent articles exploring how to use this API, including choices from authors such as Phil Hawksworth, Preethi, and Mateusz Rybczonek, just to name a few. But I’m aiming to do something a bit different here. I had an opportunity earlier in the year to present the VueJS...
Browser Engine Diversity
24.9.2019
We lost Opera when they went Chrome in 2013. Same deal with Edge when it also went Chrome earlier this year. Mike Taylor called these changes a "Decreasingly Diverse Browser Engine World" in a talk I'd like to see.
So all we've got left is Chrome-stuff, Firefox-stuff, and Safari-stuff. Chrome...
Get Geographic Information from an IP Address for Free
24.9.2019
Say you need to know what country someone visiting your website is from, because you have an internationalized site and display different things based on that country. You could ask the user. You might want to have that functionality anyway to make sure your visitors have control, but surely they...
Link Underlines That Animate Into Block Backgrounds
23.9.2019
It's a cool little effect. The default link style has an underline (which is a good idea) and then on :hover you see the underline essentially thicken up turning into almost what it would have looked liked if you used a background-color on the link instead.
Here's an example of the effect on...
Static First: Pre-Generated JAMstack Sites with Serverless Rendering as a Fallback
23.9.2019
You might be seeing the term JAMstack popping up more and more frequently. I’ve been a fan of it as an approach for some time.
One of the principles of JAMstack is that of pre-rendering. In other words, it generates your site into a collection of static assets in advance, so that it can be served...
Random Notes from a JAMstack Roundtable
23.9.2019
I hosted a JAMstack roundtable discussion at Web Unleashed this past weekend. Just a few random notes from that experience.
I was surprised at first that there really is confusion that the "M" in Jamstack stands for "Markdown" (the language that compiles to HTML) rather than "Markup" (the "M"...
How Merge Mining and Anchored Blockchain Projects Capitalize on Bitcoin’s Security Model
21.9.2019
Since 2011, just after Satoshi Nakamoto left the Bitcoin project for good, networks have emerged that leverage the BTC chain in some way. A variety of projects over the last nine years have found value in anchoring some sort of feature set to BTC in order to bolster the satellite’s underlying...
Variable Fonts Link Dump!
21.9.2019
There's been a ton of great stuff flying around about variable fonts lately (our tag has loads of stuff as well). I thought I'd round up all the new stuff I hadn't seen before.
Google fonts has a beta of hosted variable fonts and the announcement demo is on CodePen.
Speaking of Google Fonts...
UX Considerations for Web Sharing
20.9.2019
From trashy clickbait sites to the most august of publications, share buttons have long been ubiquitous across the web. And yet it is arguable that these buttons aren’t needed. All mobile browsers — Firefox, Edge, Safari, Chrome, Opera Mini, UC Browser, Samsung Internet — make it easy to share...
Table with Expando Rows
20.9.2019
"Expando Rows" is a concept where multiple related rows in a <table> are collapsed until you open them. You'd call that "progressive disclosure" in interaction design parlance.
After all these years on CSS-Tricks, I have a little better eye for what the accessibility concerns of...
Weekly Platform News: Emoji String Length, Issues with Rounded Buttons, Bundled Exchanges
19.9.2019
In this week's roundup, the string length of two emojis is not always equal, something to consider before making that rounded button, and we may have a new way to share web apps between devices, even when they are offline.
The JavaScript string length of emoji characters
A single rendered emoji...
Buddy on CSS-Tricks
19.9.2019
Here's a little direct product endorsement for ya: I literally use Buddy for deployment on all my projects.
Buddy isn't just a deployment tool, we'll get to that, but it's something that Buddy does very well and definitely a reason you might look at picking it up yourself if you're looking around...
Git Pathspecs and How to Use Them
19.9.2019
When I was looking through the documentation of git commands, I noticed that many of them had an option for <pathspec>. I initially thought that this was just a technical way to say “path,” and assumed that it could only accept directories and filenames. After diving into the rabbit hole...
Automatically compress images on Pull Requests
19.9.2019
Sarah introduced us to GitHub Actions right after it dropped about a year ago. Now they have improved the feature and are touting its CI/CD abilities. Run tests, do deployment, do whatever stuff computers do! It's essentially a YAML file that says run this, then this, then this, etc., with...
Web Developer Search History
18.9.2019
Sophie Koonin blogged "Everything I googled in a week as a professional software engineer," which was a fascinating look into the mind of a web developer and what they need to look up during day-to-day work. We all joke that we just Google stuff (or StackOverflow stuff) we don't know off the...
How Web Content Can Affect Power Usage
18.9.2019
Because we know that all people with battery-powered devices are constantly concerned about their battery levels, and that websites are significant consumers of that battery power, we should probably think about this stuff a lot more than we do.
I'd expect the browser itself to be our main ally...
A Comparison of Static Form Providers
18.9.2019
Let’s attempt to coin a term here: "Static Form Provider." You bring your HTML <form>, but don’t worry about the back-end processing that makes it work. There are a lot of these services out there!
Static Form Providers do all tasks like validating, storing, sending notifications,...
Two Browsers Walked Into a Scrollbar
18.9.2019
Surprise: scrollbars are complicated, especially cross-browser and cross-platform.
Sometimes they take up space and sometimes they don't. Sometimes that is affected by a setting and sometimes it isn't. Sometimes you can see them and sometimes you can't unless you're actually scrolling. Styling...
A Color Picker for Product Images
17.9.2019
Sounds kind of like a hard problem doesn't it? We often don't have product shots in thousands of colors, such that we can flip out the <img src="product-red.jpg" alt="red product"> with <img src="product-blue.jpg" alt="blue product">. Nor do we typically have products in a vector...
Overflow And Data Loss In CSS
17.9.2019
"Data Loss" is a funny term. My brain thinks of like packet loss on the way from the server to your browser, resulting in missing content in files. Perhaps it is that on some level, but in CSS parlance, it has to do with the overflow property. Too much content for sized container + hidden overflow...