Hasty Treat - Stylin the Unstylables

Published: May 17, 2021, 1 p.m.

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\xa0is 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\xa0sanity.io/create. Get an awesome supercharged free developer plan on\xa0sanity.io/syntax.

LogRocket - Sponsor

LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It\u2019s an exception tracker, a session re-player and a performance monitor. Get 14 days free at\xa0logrocket.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\xa0appearance: none;\xa0for 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\xa0:before\xa0and\xa0:after\xa0along with labels \u2014 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!