A. M. Douglas

Blog Archive

JavaScript

Meet the new Web Animations API

While browser support for the Web Animations API may look rather bleak at the moment, when the other browsers catch up, it will be the sharpest and fastest way to animate anything without resorting to WebGL...


CSS · JavaScript

Asynchronous CSS: the Easy Way

If you've ever looked into asynchronously handling fonts, you've probably read about FilamentGroup's method using link rel=preload, which might look like a hack, but this is actually what the preload spec is for...


JavaScript

Stripe Custom Form in vanilla JavaScript

Given that it's coming up to Christmas, there obviously couldn't be a more appropriate time to think about adding or customising an e-commerce experience with your own take on the Stripe form


CSS · JavaScript

Lazyloading CSS background-images

As a rule, I generally prefer, for the purposes of accessibility and SEO, to use IMG elements to display images over the background-image approach...


JavaScript

Why the new fetch API is broken

There is probably no DOM API more loathed than the XMLHttpRequest, but is the hatred really justified? It probably was when web browsers did not implement it consistently...


JavaScript

Labs: autoform.js

autoform.js is a vanilla (i.e. no jQuery) JavaScript library which looks for HTML forms in the DOM and automatically handles the submit event via AJAX.


CSS

CSS selectors you really may not have heard of

While attribute/partial selectors can be considered quite “advanced”, the author forgot to mention something important...


CSS

Some CSS pointers

If you're a regular reader of articles in web development, you've probably seen a lot of literature being generated about the topic of developing client-side, single page applications...


CSS

Future CSS Grids

By now, if you're a frequent web trawler like me, you'll have come across articles discussing the new CSS Grid spec. The Grid is touted as a harbinger of an end to markup-dependent grid systems...


JavaScript

Abstracting the DOM

Summary: neither of these solutions can be considered performant. On the one hand, you're loading dozens of resources for shadow DOM trees...