Advertisement · 728 × 90

Posts by James Stuckey Weber

I’ve wanted to use it with the trig functions to calculate an angle for a rotation.

1 day ago 3 0 0 0
The new tool should be cheaper than the one
it replaces.
2 It should be at least as small in scale as the
one it replaces.
3 It should do work that is clearly and demonstrably
better than the one it replaces.
4 It should use less energy than the one it
replaces.
5 If possible, it should use some form of solar
energy, such as that of the body.
6 It should be repairable by a person of ordinary
intelligence, provided that he or she has
the necessary tools.
7 It should be purchasable and repairable as near
to home as possible.
8 It should come from a small, privately
owned shop or store that will take it back for
maintenance and repair.
9 It should not replace or disrupt anything
good that already exists, and this includes
family and community relationships.

The new tool should be cheaper than the one it replaces. 2 It should be at least as small in scale as the one it replaces. 3 It should do work that is clearly and demonstrably better than the one it replaces. 4 It should use less energy than the one it replaces. 5 If possible, it should use some form of solar energy, such as that of the body. 6 It should be repairable by a person of ordinary intelligence, provided that he or she has the necessary tools. 7 It should be purchasable and repairable as near to home as possible. 8 It should come from a small, privately owned shop or store that will take it back for maintenance and repair. 9 It should not replace or disrupt anything good that already exists, and this includes family and community relationships.

finally, Wendell Berry's standards for technological innovation--truly as relevant now as they were in 1987 #othernetworks

1 day ago 260 96 6 7
Preview
The Practical Accessibility Course A get-right-down-to-it online course for Web designers and developers who want to start creating more accessible Web user interfaces and digital products today

Today I published the second update of this month to the Practical Accessibility course content.

I have at least two or three more updates coming this April.

As I promised, I want to keep the course as up-to-date and as relevant to your work as possible.

Get access @ practical-accessibility.today

5 days ago 107 20 2 1
Preview
Anchor Positioning in Space A comprehensive guide to CSS Anchor Positioning — from fundamentals to advanced techniques.

Anchor Positioning in Space | A comprehensive guide and playground for CSS Anchor Positioning | anchor-positioning-in-space.schalkneethling.com #css

1 week ago 4 1 0 0

I had been ignoring a needed migration off of Worpress for... checks notes... 7 years. Thanks to @zachleat.com for the tools that made it happen in an hour.

2 weeks ago 4 0 0 0
Preview
Quick & Easy UI Wins YouTube video by Winging It

Winging It live stream on Thursday with @jamessw.com and @stacykvernmo.com to explore some hidden gems of UI development—from @starting-style for smoother entry transitions to AVIF images and using the browser’s built-in lazy-loading. join us!

www.youtube.com/live/XOm3vEJ...

2 weeks ago 12 5 1 1

I've seen this exact use case before, and think it's worth opening an issue on CSSWG, especially if you have thoughts on how to take scroll into account on multiple elements.

2 weeks ago 0 0 0 0
Advertisement

That said, the spec was written alongside the Chromium implementation and likely includes Chromium-specific limitations and work arounds. So with more implementations, adjustment is needed?

2 weeks ago 0 0 1 0
Preview
Anchor positioning  |  web.dev CSS anchor positioning provides a way to declaratively position an element relative to another element.

So it isn't the sticky position that is being ignored, it's the scroll offset of the sticky element. If you make that the default anchor, it ignores the other element's scroll offset.

There's an example here that shows an anchored element on multiple scroll containers only following one scroll.

2 weeks ago 0 0 1 0

If the size is derived from a non-default anchor, the size shouldn't update. The algorithm is essentially: 1. Resolve all the anchors to position and size the element. 2. When the default anchor scrolls, offset the position the same amount.

2 weeks ago 0 0 1 0

I'm pretty sure Chrome is correct per the spec. The anchored element can only follow the scroll offset of a single anchoring element, which is determined by the default anchor (the `position-anchor` here).

2 weeks ago 1 1 1 0
Preview
Here's Why Your Anchor Positioning Isn't Working How to find an anchor element

Oh boy! I had no idea anchor positioning was this complicated. I would be afraid to touch it if not for this recommendation from James Stuckey Weber to make it work reliably.

1. Make the anchor and the positioned element siblings.
2. Put the anchor first in the DOM.

www.oddbird.net/2025/01/29/a...

3 weeks ago 5 1 1 0
Preview
Quick & Easy UI Wins YouTube video by Winging It

This will be chock full of gems that you can start using, like yesterday.

3 weeks ago 5 4 1 0
Preview
Too Much Color I spent too much time looking at too many colo(u)rs to try and optimise them for csskit. Here are some interesting findings.

I spent too much time looking at too many colo(u)rs to try and optimise them for csskit. Here are some interesting findings.

www.keithcirkel.co.uk/too-much-col...

3 weeks ago 28 8 2 1
Advertisement
Preview
What's My JND? Find your Just Noticeable Difference in colour perception. How small a colour difference can you actually see?

For those who want to test their perception of colour, I made a little game called "What's My JND"

www.keithcirkel.co.uk/whats-my-jnd...

3 weeks ago 430 110 111 207

One day you're like "we should send a weekly newsletter about the cool stuff on @codepen.io and around".

Then 500 weeks go by. 🎉

codepen.io/spark/500

3 weeks ago 58 6 3 1

Tools also avoid rounding to prevent color shifts if you convert between spaces repeatedly, so they likely preserve more than is needed.

4 weeks ago 0 0 0 0

Thank you for doing the math! I'm curious if that holds up across channels? I'm guessing some color spaces would also show more differences in some hues?

Or perhaps nuance isn't really needed here... 3 is sufficient, and likely more than sufficient, and 4 is never needed?

4 weeks ago 0 0 2 0
Preview
Container Queries and Units in Action One of the goals when writing CSS is to build component parts that will adapt well to different (and unexpected) contexts. Ideally, a component can be placed inside any "container" element without it ...

Explore Container Queries with @miriam.codes in the context of the delicious Baseline Bakery. Donuts & #CSS? Yum!
www.oddbird.net/2026/02/18/q...

Shared in the February issue of OddNews:
us19.campaign-archive.com?u=80219aa68d...

4 weeks ago 16 4 0 0

You can find the slides of my #SotB2026 talk on my blog: www.bram.us/2026/02/28/a...

1 month ago 29 6 3 0
Preview
Select flip ...

Played around with a polyfill for Element.matchContainer() and it works! Just needed to tweak the polyfill with a @starting-style. codepen.io/jamessw/pen/...

1 month ago 1 0 0 0

Looking forward to the "State of" trench coat to replace the t-shirts next year.

1 month ago 1 0 0 0
Preview
Why is Anchor Positioning not working? Learn the edge cases that prevent anchor positioning from working correctly.

💡 CSS Tip!

For years, we've had the "z-index, stacking context" nightmare, but we will soon have a worse nightmare related to Anchor Positioning 😱

When it doesn't work, it's frustrating, so it's time to learn how it really works.

css-tip.com/anchor-issues/

It's not as simple as you might think!

1 month ago 24 7 0 4
Advertisement

That seems like a very reasonable thing to want, but not sure how to do that without causing cycles.

1 month ago 2 0 1 0

I haven’t played with Container Queries for anchors much yet, but my understanding is no.

1 month ago 1 0 1 0
Preview
Responsive Type Doesn’t Have To Be Complicated YouTube video by Winging It

Tomorrow on Winging It (live) I'll be chatting with @stacykvernmo.com & @jamessw.com about my approach to responsive type in #CSS – without third-party calculators or complex unit conversions – and some of the research I did to get there.

Join us at 10am PT/1pm ET!

www.youtube.com/live/B-r6wem...

1 month ago 8 3 0 1
Generative AI has broken the subject matter expert/editor relationship – Rachel Andrew

It was too icy to run, so instead I wrote a blog post. Some thoughts about the new problems generative AI introduces in the content operations pipeline, and why my spidey-sense for plagiarism is broken rachelandrew.co.uk/archives/202...

1 month ago 17 6 1 0

Here are a few things I plan to cover in the Poetic #CSS course, but I'd love your input and questions! Where are you having the most issues, what piques your curiosity, and where do you have questions?

Feel free to vote for multiple in the replies, or suggest other topics & specific questions.

1 month ago 8 6 4 0
Preview
Responsive Type Doesn’t Have To Be Complicated YouTube video by Winging It

Responsive type doesn’t have to be complicated. @miriam.codes will show @jamessw.com and me how we can get great results from a few lines of readable code on the next Winging It on Thursday, February 19 at 1pm ET
www.youtube.com/live/B-r6wem...

1 month ago 7 4 0 0
Preview
Better Anchor Positioning with position-area It's not just a shorthand for anchor()

Curious how 'position-area' works? It's more than a shorthand for anchor().

2 months ago 8 0 0 0