@keithjgrant@front-end.social
@keithjgrant@front-end.social avatar

keithjgrant

@keithjgrant@front-end.social

👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth.

🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.

✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. #JavaScript#CSS#ReactJS#WebDev#UX#IndieWeb#guitar#PNW • searchable

This profile is from a federated server and may be incomplete. Browse more on the original instance.

keithjgrant, to webdev
@keithjgrant@front-end.social avatar

I’m sorry, but I think HTMX is just gross.

A worthwhile experiment, absolutely, but I can’t see myself ever using this for a serious production application. I hope we keep iterating on this before settling for a non-turing complete, directive-driven language that gives Angular 1.0 PTSD flashbacks

keithjgrant, to random
@keithjgrant@front-end.social avatar

New post: Re-evaluating px vs em in Media Queries (or, Safari is why we can’t have nice things)

I think the old rules may need tweaking, but the answer is still not exactly clear-cut.

https://keithjgrant.com/posts/2023/05/px-vs-em-in-media-queries/

keithjgrant, to CSS
@keithjgrant@front-end.social avatar

HALP. My chapter on #CSS color just won't stop growing. This is easily going to be the longest chapter in the book

keithjgrant, to programming
@keithjgrant@front-end.social avatar
keithjgrant, to programming
@keithjgrant@front-end.social avatar

📝 New Post: Transitioning to height: auto (two ways)

https://keithjgrant.com/posts/2023/04/transitioning-to-height-auto/

keithjgrant, to CSS
@keithjgrant@front-end.social avatar

Does anybody know what color space/interpolation method gradients use when you don't specify one?

I can't find any documentation that specifies, including the spec. As far as I can tell testing, the behavior doesn't quite match any of the color spaces I can specify (it's closest to oklch or maybe xyz-d50, but not exact)

cc @argyleink

keithjgrant, to webdev
@keithjgrant@front-end.social avatar

📝 New post: Web components aren’t components.

…Where I try to make sense of thoughts that have been swirling around my head for years now

https://keithjgrant.com/posts/2023/07/web-components-arent-components/

keithjgrant, to programming
@keithjgrant@front-end.social avatar

Why is @scope different than Shadow DOM? There are a number of similarities, but a couple things make @scope different:

  • it's more lightweight, so it's easy to sprinkle onto the page where Shadow DOM would be overkill
  • it allows for multiple scopes to overlap and provides control over styles when they do
  • it offers fine-grained control over which styles do or do not reach from an outer scope into an inner one

https://keithjgrant.com/posts/2023/04/scoped-css-is-back/

keithjgrant, to random
@keithjgrant@front-end.social avatar

Okay, I’m now squarely in the awkward transition phase back to Firefox from Arc... I still tend to have both open all day as I slowly re-establish my older habits/solutions to workflow management.

I will miss the Arc Spaces though. Does anybody know of any tab-management plugins that actually replicate that behavior (no, not multi-account containers. I want active sessions to be available in any container/space)?

keithjgrant, to CSS
@keithjgrant@front-end.social avatar

Debating with myself whether <Flex> and <Stack> components are an antipattern... I keep finding spots in our app where we've ended up with like ten nested flexboxes where one or two would accomplish the exact same result.

Is this just a devs-not-knowing-CSS problem, or does the abstraction invite abuse?

#css #react #webdev

keithjgrant, to random
@keithjgrant@front-end.social avatar

Really considering starting to post recipes on a blog, not because I want to be a “food blogger” (ugh) but purely because the web deserves some un-bloated, ad-free, tracking-free recipes somewhere

keithjgrant, (edited ) to CSS
@keithjgrant@front-end.social avatar

In the first edition of CSS in Depth, I have a chapter on "Modular CSS"... but I'm debating whether to rename that to "Component-based design" for 2nd edition. What do you think?

keithjgrant, to random
@keithjgrant@front-end.social avatar

People love to trash on imperial measurements, but I’ve come around and realized they actually aren’t that bad. Most arguments against them are strawman (when’s the last time you ever needed to convert between feet and miles? They’re used for different things entirely)

My only remaining complaint is with weights. Ounces just aren’t precise enough, even with fractions of an ounce. Grams are glorious that way

keithjgrant, to random
@keithjgrant@front-end.social avatar

/me deletes "There won't be a CSS4" from the 2nd edition manuscript

keithjgrant, to random
@keithjgrant@front-end.social avatar

I think this hits the nail on the head. This is precisely my issue with . It actively ignores one of the most powerful aspects of :

“I think that Tailwind might be a good example of an imperative design tool. It’s only about the specific outputs. Systematic thinking is actively discouraged; instead you say exactly what you want the final pixels on the screen to be.”

https://adactio.com/journal/18982

keithjgrant, to random
@keithjgrant@front-end.social avatar

Okay Firefox. I'll be going to print early next year. Please make me change this before then by adding :has() support

keithjgrant, to random
@keithjgrant@front-end.social avatar

"show me an example component where @scope can't just be done via a web component instead" is a really frustrating ask.

Because the answer is: every piece of every design system or web app I've ever built. Just the fact that you're asking tells me that providing an example won't actually answer your question because you're clearly coming from such a different problem space that my entire approach is foreign to you

keithjgrant, to random
@keithjgrant@front-end.social avatar

Okay, I have so many thoughts about Tears of the Kingdom, and I’ve been trying not to spam gaming stuff here.

I think Breath of the Wild was a flawed masterpiece.

, however, has perfected what BotW started. It makes BotW feel like a mere tech demo; a sort of teaser trailer. TotK will go down as one of the greatest games ever made.

keithjgrant, to random
@keithjgrant@front-end.social avatar

My 20-years-abandoned guitar skills have been coming back to me surprisingly quickly. But dang, I can’t remember any songs. A few riffs of Enter Sandman is about it. Guess I’ve got my work cut out for me.

Anyway, this time around I’m determined to properly learn the notes of the fretboard, so I started making a little app: https://guitar.keithjgrant.com. It still needs some polish, but it’ll serve the purpose.

(https://notes.keithjgrant.com/notes/2023/12/my-20-years-abandoned-guitar-skills/)

keithjgrant, to random
@keithjgrant@front-end.social avatar

Petition to remove Brazil nuts from cans of mixed nuts and replace them with something that actually tastes good, like pistachios

keithjgrant, to random
@keithjgrant@front-end.social avatar

My copyeditor just changed "front-end" to "frontend" so does that mean the debate is settled?

keithjgrant, to random
@keithjgrant@front-end.social avatar

Can‘t I just use ALL they typefaces? They so pretty

keithjgrant, to random
@keithjgrant@front-end.social avatar

am I totally missing something, or is class MyComponent extends HTMLLIElement totally not supported, meaning custom elements can't even work as items in a <ul>?

keithjgrant, to random
@keithjgrant@front-end.social avatar

New post: My CSS Resets

I’m far from the first to share my take on this, but I find I want somewhere easy to reference it. 😊

https://keithjgrant.com/posts/2024/01/my-css-resets/

keithjgrant, to random
@keithjgrant@front-end.social avatar

Does the new CSS light-dark() do anything to support sites that have a light mode/dark mode toggle switch?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • kavyap
  • DreamBathrooms
  • cisconetworking
  • magazineikmin
  • InstantRegret
  • Durango
  • thenastyranch
  • Youngstown
  • rosin
  • slotface
  • mdbf
  • khanakhh
  • tacticalgear
  • JUstTest
  • everett
  • modclub
  • Leos
  • cubers
  • ngwrru68w68
  • ethstaker
  • osvaldo12
  • GTA5RPClips
  • anitta
  • megavids
  • normalnudes
  • tester
  • lostlight
  • All magazines