PLAY PODCASTS
Hasty Treat - Stylin the Unstylables

Hasty Treat - Stylin the Unstylables

In this Hasty Treat, Scott and Wes talk about the different kinds of things that are difficult to style, how you can style them, and some future tech to look out for! Sanity - Sponsor is a real-time headless CMS with a fully customizable...

Syntax - Tasty Web Development Treats · Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

May 17, 202121m 33s

Audio is streamed directly from the publisher (traffic.megaphone.fm) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

In this Hasty Treat, Scott and Wes talk about the different kinds of things that are difficult to style, how you can style them, and some future tech to look out for!

Sanity - Sponsor

Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax.

LogRocket - Sponsor

LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It’s an exception tracker, a session re-player and a performance monitor. Get 14 days free at logrocket.com/syntax.

Show Notes Can it be styled? Solutions

04:28 - Just style the defaults

  • Most elements can be styled, though some elements are really just multiple elements grouped together into the shadow dom and are hard to style.
  • This leads to us having to re-create the visual UI, and often is a point of making inaccessible UIs.
  • Select
  • Input - number, date, etc.
    • Very hard to style
    • Often need appearance: none; for mobile
  • Checkbox / Radio
  • Generally speaking, these CSS Properties can be applied to all inputs:
    • font-size
    • color
    • padding
    • margin
    • background / images
    • outline (remember focus)
    • border

08:20 - Overlap with more dom elements, set background images

  • Checkbox / Radio / Toggle buttons
    • Often used :before and :after along with labels — e.g. label + input:checked
  • Select can have element overlap

14:13 - Re-implement the UI with JavaScript

  • Video / Audio
    • HUGE rabbit hole of things to code
  • Very important to maintain accessibility

15:46 - Use a UI Library

17:20 - Open UI

Tweet us your tasty treats!