MoreRSS

site iconAdam ArgyleModify

Web design & development tips & tricks: CSS, JS, HTML, Design, & UX
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Adam Argyle

Joining Shopify

2025-09-16 01:00:00

I'm stoked to share my next role:

Design Engineer at Shopify;
alongside Jason Miller to hack on next-gen admin UI/UX and a new Polaris.

I'm also workin to rejoin the CSSWG via Shopify too 🙂

Thanks for all y'all's support! 💀🤘🏻

WWW Ep209

2025-09-11 23:42:49

Ep #209
Is Cracker Barrel a JS Framework?

Robbie and I talk about JavaScript trends, from the overuse of hooks to frameworks chasing sameness, and why Cracker Barrel’s rebrand feels like a frontend metaphor.

whiskey.fm · youtube · spotify · apple

One List To Rule Them All

2025-09-11 07:02:20

100+ CSS features from the past 5 years or so

Whether I'm giving a talk or on a podcast, these two things constantly pop up:

  • how do I find what to study to keep up?
  • what's new in CSS?

If you've wondered those things before, then this list is for you.

Find something you've never heard of, click the link; and look at you, you're already getting more familiar with what's new!

Selectors #

Pseudo Elements #

Language #

@rules #

Color #

Functions #

Properties #

Values #

Queries: #

Units #

There's a whole lot of units now. In my opinion, each are unique and useful in their own occasions. Super powers, knowing which to use when.

Relative #

Root Relative #

Absolute #

Viewport #

Container #

Have a suggestion? Let me know on Bluesky or Twitter! 🤝

Keyframe Offsets

2025-09-06 06:31:33

A visual comparison of the reduced code snippets from the article, both CSS and JS as close as they can be compared.

Well aren't keyframe offsets just super handy!

circle.animate([
  { offset: 0,   transform: 'scale(0)', opacity: 1 },
  { offset: .10, transform: 'scale(1)', opacity: 1 },
  { offset: .75, opacity: 1 },
  { offset: 1,   opacity: 0 },
])

See those useful offset values?

In CSS #

Keyframe percentages are super important in crafting animations; for both complex animations or just well orchestrated timings.

You've probably seen the % values in the keyframes.

#circle {
  animation: scale-then-fade-out 3s ease infinite;
}

@keyframes scale-then-fade-out {
  0%   { transform: scale(0); opacity: 1; }
  10%  { transform: scale(1); opacity: 1; }
  75%  { opacity: 1; }
  100% { opacity: 0; }
}

They're pretty much 2nd nature.

But I bet you've never thought to yourself, "Let me specify this keyframe offset value to 15%" 🤓 At least I hadn't, but I like the more formal name!

So… what about in JS?

In JS #

In the animate function, the keyframes are passed as an array of objects, where each object is a keyframe.

The logical place to put an offset value is right there!

circle.animate([
  { offset: 0,   transform: 'scale(0)', opacity: 1 },
  { offset: .10, transform: 'scale(1)', opacity: 1 },
  { offset: .75, opacity: 1 },
  { offset: 1,   opacity: 0 },
], {
  duration: 3000,
  easing: 'ease',
  iterations: Infinity,
})

and there you have it, the tip in this article, how to set offsets in your JS keyframe animations. At least… that's why I wrote this. Was new to me!

Try it out in this Codepen if you want to 🙂

WWW Ep208

2025-09-04 21:46:32

Ep #208
I've joined Whiskey Web and Whatnot as a permanent show host 🎉

In this episode, Robbie and I talk about CascadiaJS, my new role at Shopify 👀, and why tech interviews are so broken.

whiskey.fm · youtube · spotify · apple

Gradient Style Is Out Of Beta

2025-08-29 04:39:59

some title

I'm happy to share that gradient.style is out of beta and:

  • has been Open Sourced
  • finally supports multiple background layers

Open to feedback and comments 🙂