Chris Bolson

Chris Bolson

@cbolson.bsky.social

The best dependency is no dependency 🔗 https://codepen.io/cbolson

98 followers66 following148 posts

I don't normaly share this sort of thing but this one hits close to home. Billy is my nephew. 7 years ago mine and my families life got flipped upside down and changed forever On the morning of 14th July 2019 my sons 5th birthday of all days I suffe... fundraise.cancerresearchuk.org/team/billys-...

fundraise.cancerresearchuk.orgBilly’s team7 years ago mine and my families life got flipped upside down and changed forever. On the morning of 14th July 2019, my son’s 5th birthday of all days, I suffered a large seizure and was rushed to hos...

🎃 A little Halloween FizzBuzz fun! 100 floating numbers, some CSS random(), a bit of sibling-index(), and some spooky surprises hiding behind the numbers. 👻 Hover over one to see what happens… See the full demo on @codepen.io codepen.io/editor/cbols... #codepenchallenge #FizzBuzz #Halloween

codepen.io🎃 Halloween ~~FizzBuzz~~ BooScary with CSS random()Hover over the floating numbers to get your BooScary 🧙 I wanted to do was use this weeks challenge as an excuse to test out the new CSS random() fun

Chris Bolson reposted

To practice and learn, I checked the accessibility of La Liga teams' homepages ⚽ I documented the results, the issues I found, the methodology I followed (combining automated+manual tests)... and shared it on my blog: alvaromontoro.com/blog/68112/l... #LaLiga #Accessibility #A11y #WebDev #Soccer

alvaromontoro.comLa Liga's Web Accessibility Table: How Do Clubs Actually Score?Web accessibility ensures that every supporter (including those with visual, auditory, motor, or cognitive disabilities) can use a website. So how well do these teams' homepages hold up? I analyzed di...

From 13 teams in 1930 to 48 teams in 2026 ⚽ This World Cup timeline demo covers every tournament, revealing stats, results and highlights using CSS animation-trigger with a scroll-driven animation fallback. See the demo on @codepen.io : codepen.io/editor/cbols...

codepen.ioWorld Cup Timeline using animation-triggerMy final CodePen demo to celebrate the 2026 FIFA World Cup. This timeline showcases every FIFA World Cup tournament, from the inaugural competition in

A new #cssonly demo: scroll-triggered counters. In supporting browsers (Chrome only currently), counters count up when scrolled into view. Built with `timeline-trigger`, `animation-trigger`, `attr()`, `@property` and `sibling-index()`. See the demo on @codepen.io: codepen.io/editor/cbols...

codepen.ioCSS only counters using timeline-trigger, animation-trigger & attr()This demo uses the experimental timeline-trigger and animation-trigger properties to start CSS animations when the counters enter the viewport. The co

As the 2026 World Cup enters the knockout stage, I challenged myself to build a CSS-only tournament bracket ⚽️ Using attr(), style queries and plenty of :has(), the bracket updates as you pick each winner—all without JavaScript. Check out the demo on @codepen.io : codepen.io/editor/cbols...

codepen.io2026 World Cup Knock-Out Stages #cssonlyThis bracket is 100% CSS, the logic being defined by multiple :has() selectors. Not overly practical but a fun CSS only challenge. Select the team tha

Well worth the read! My mind is already taking these gap decorations where they were not built to go 😆

CSS by T. Afif@css-only.dev

📝 New CSS Article! I did a quick exploration of the new "Gap Decorations" thing, and I ended up doing a lot of fancy stuff except for decorating the gaps 😅 master.dev/blog/lets-pl... Read my latest article to learn a lot of nice tricks around this feature.

It looks like I may have pushed my luck with the Custom Selects. I tried to combine it with the experimental carousel using ::scroll-marker etc. It does work in that it displays the markers and they are highlighting on hover. However clicking on them seems to be just too much for the browser 😅

Chris Bolson reposted

The <select> element has been tough to style for decades. appearance: base-select changes that. We'll walk you through full CSS control, rich HTML options, and keeping it accessible — all while leveraging the power of the native element.

developer.apple.comRediscover the HTML select element - WWDC26 - Videos - Apple DeveloperLearn how to unlock full control of styling select menus on the web. The HTML select element is getting a major upgrade with a new CSS...

I have made some adjustments to the code, mostly regarding hovering or focusing on the options within each <optgroup>. Whilst possibly the simplest, I think that this is actually one of my favorite custom select demos so far.

⚽ Football Team Selector Pick a team and the formation reconfigures as players transition into their new positions. Team shirt colors update too. Built with custom select styling, anchor positioning, advanced attr() functions, and container style queries. See the full demo on @codepen.io

⚽ Football Team Selector Pick a team and the formation reconfigures as players transition into their new positions. Team shirt colors update too. Built with custom select styling, anchor positioning, advanced attr() functions, and container style queries. See the full demo on @codepen.io

It makes my month when Alvaro picks one of my CodePen demos, thanks @alvaromontoro.com ! The one that Alvaro features in his April top 10 was slightly different than my usual demos as I had a go at some CSS art to help celebrate the Artemis 2 Moon Flyby.

Álvaro Montoro@alvaromontoro.com

10 Cool CodePen Demos – April 2026 alvaromontoro.com/10-cool-code... CSS Art (lots of CSS Art!), accordions, scroll-driven animations, components, JS games... and more! #css #html #javascript #webdev

Just another clock… but really an excuse to play with CSS anchor positioning to place time labels along expanding clock-hand rings. JS updates a few CSS custom properties, whilst CSS uses and display the values. The cheese color swapper was just an extra bit of fun. See the demo on @codepen.io