Keith J. Grant
@keithjgrant.com
👨🏻💻 Front end dev at Red Hat on Ansible Automation Platform. Author of CSS in Depth. he/him
🌐 https://keithjgrant.com https://notes.keithjgrant.com
📖 https://www.manning.com/books/css-in-depth-second-edition
🐘 https://front-end.social/@keithjgrant
🌐 https://keithjgrant.com https://notes.keithjgrant.com
📖 https://www.manning.com/books/css-in-depth-second-edition
🐘 https://front-end.social/@keithjgrant
Pinned
Keith J. Grant
@keithjgrant.com
· Jun 24
Need some colors for your next web project? I’ve got you covered. If you haven’t seen the Theme Machine, check it out! 🎨 #css #webdev
tools.keithjgrant.com/theme-machine/
tools.keithjgrant.com/theme-machine/
Reposted by Keith J. Grant
Hello, here's a brain dump of everything I know about animation performance.
Animating layout isn't always bad. Global CSS variables are a performance killer. Hardware accelerated blurs can crash sites.
Surprised? Those and more in this post: motion.dev/blog/web-ani...
Animating layout isn't always bad. Global CSS variables are a performance killer. Hardware accelerated blurs can crash sites.
Surprised? Those and more in this post: motion.dev/blog/web-ani...
The Web Animation Performance Tier List - Motion Blog
Learn what makes web animations fast, slow, and everything in between with our 2025 web animation performance tier list.
motion.dev
November 7, 2025 at 12:55 PM
Hello, here's a brain dump of everything I know about animation performance.
Animating layout isn't always bad. Global CSS variables are a performance killer. Hardware accelerated blurs can crash sites.
Surprised? Those and more in this post: motion.dev/blog/web-ani...
Animating layout isn't always bad. Global CSS variables are a performance killer. Hardware accelerated blurs can crash sites.
Surprised? Those and more in this post: motion.dev/blog/web-ani...
Reposted by Keith J. Grant
a new #CSS enters the ring
try it
codepen.io/argyleink/pe...
source
github.com/argyleink/cs...
try it
codepen.io/argyleink/pe...
source
github.com/argyleink/cs...
November 7, 2025 at 4:37 AM
a new #CSS enters the ring
try it
codepen.io/argyleink/pe...
source
github.com/argyleink/cs...
try it
codepen.io/argyleink/pe...
source
github.com/argyleink/cs...
Everything at Manning is half off for Halloween weekend! Get CSS in Depth for only $24! #css #webdev
www.manning.com/books/css-in...
www.manning.com/books/css-in...
CSS in Depth, Second Edition - Keith J. Grant
To create web designs that delight, entertain, and impress your users, you need to know CSS in depth!
www.manning.com
October 31, 2025 at 8:52 PM
Everything at Manning is half off for Halloween weekend! Get CSS in Depth for only $24! #css #webdev
www.manning.com/books/css-in...
www.manning.com/books/css-in...
Reposted by Keith J. Grant
add to the list of reasons to never accept homework in hiring pipelines 📝
(on a more serious note, HOLY S*** this is actually a surprising approach to try and hack someone - and with AI all around... YIKES)
...and perfectly spoOOoky 👻 for today 👻
🔗 blog.daviddodda.com/how-i-almos...
(on a more serious note, HOLY S*** this is actually a surprising approach to try and hack someone - and with AI all around... YIKES)
...and perfectly spoOOoky 👻 for today 👻
🔗 blog.daviddodda.com/how-i-almos...
October 31, 2025 at 3:57 PM
add to the list of reasons to never accept homework in hiring pipelines 📝
(on a more serious note, HOLY S*** this is actually a surprising approach to try and hack someone - and with AI all around... YIKES)
...and perfectly spoOOoky 👻 for today 👻
🔗 blog.daviddodda.com/how-i-almos...
(on a more serious note, HOLY S*** this is actually a surprising approach to try and hack someone - and with AI all around... YIKES)
...and perfectly spoOOoky 👻 for today 👻
🔗 blog.daviddodda.com/how-i-almos...
ah yes, my favorite kind of debugging. Where it goes from "why isn't this working?" to "how did this ever work?"
October 29, 2025 at 10:13 PM
ah yes, my favorite kind of debugging. Where it goes from "why isn't this working?" to "how did this ever work?"
So, how many Slack channels is too many channels?
Asking for an employer who has me in 49 different channels 😫
Asking for an employer who has me in 49 different channels 😫
October 29, 2025 at 4:12 PM
So, how many Slack channels is too many channels?
Asking for an employer who has me in 49 different channels 😫
Asking for an employer who has me in 49 different channels 😫
Reposted by Keith J. Grant
UPDATE: More donors funding the demolition of the East Wing for Trump's $250M ballroom have been identified
October 22, 2025 at 8:10 PM
UPDATE: More donors funding the demolition of the East Wing for Trump's $250M ballroom have been identified
Reposted by Keith J. Grant
There’s a new type of CSS scroll-state query coming: “scrolled”.
This one remembers the last direction you scrolled into, which you can use to build “hidey bars”: when scrolling down (or having scrolled down), the hidey bar hides itself. When then scrolling back up, the hidey bar reveals itself.
This one remembers the last direction you scrolled into, which you can use to build “hidey bars”: when scrolling down (or having scrolled down), the hidey bar hides itself. When then scrolling back up, the hidey bar reveals itself.
October 22, 2025 at 4:48 PM
There’s a new type of CSS scroll-state query coming: “scrolled”.
This one remembers the last direction you scrolled into, which you can use to build “hidey bars”: when scrolling down (or having scrolled down), the hidey bar hides itself. When then scrolling back up, the hidey bar reveals itself.
This one remembers the last direction you scrolled into, which you can use to build “hidey bars”: when scrolling down (or having scrolled down), the hidey bar hides itself. When then scrolling back up, the hidey bar reveals itself.
Ugh. Who schedules a high school football game at 8pm? Some of us old people have to go pick up our kids after the game ends
October 18, 2025 at 6:14 AM
Ugh. Who schedules a high school football game at 8pm? Some of us old people have to go pick up our kids after the game ends
`Jira could not complete this action because our developers don't understand how REST is supposed to work`
October 8, 2025 at 6:25 PM
`Jira could not complete this action because our developers don't understand how REST is supposed to work`
Reposted by Keith J. Grant
I feel like this photo of masked, armed men pepper spraying a pastor protecting his community is going to be a defining picture of this moment in America for a long, long time.
October 7, 2025 at 11:29 PM
I feel like this photo of masked, armed men pepper spraying a pastor protecting his community is going to be a defining picture of this moment in America for a long, long time.
Reposted by Keith J. Grant
Genuinely, the US is quickly sliding into fascism and Google and Apple have proven they are not going to stick up for us when the government gives them unconstitutional orders.
Stop making apps they can remove from their app stories on a whim. Make websites instead. At least make it hard for them.
Stop making apps they can remove from their app stories on a whim. Make websites instead. At least make it hard for them.
October 3, 2025 at 5:12 PM
Genuinely, the US is quickly sliding into fascism and Google and Apple have proven they are not going to stick up for us when the government gives them unconstitutional orders.
Stop making apps they can remove from their app stories on a whim. Make websites instead. At least make it hard for them.
Stop making apps they can remove from their app stories on a whim. Make websites instead. At least make it hard for them.
@kevinpowell.co sometimes layout bugs have perfect comedic timing
October 3, 2025 at 10:49 PM
@kevinpowell.co sometimes layout bugs have perfect comedic timing
Reposted by Keith J. Grant
Do you have any smaller/under-the-radar CSS sites/people that you follow?
Looking for blogs, YouTube channels, or anyone who just shares cool CSS stuff.
Reply if you know any, and look at the replies for new people/sites to follow 😊
Looking for blogs, YouTube channels, or anyone who just shares cool CSS stuff.
Reply if you know any, and look at the replies for new people/sites to follow 😊
October 2, 2025 at 1:54 PM
Do you have any smaller/under-the-radar CSS sites/people that you follow?
Looking for blogs, YouTube channels, or anyone who just shares cool CSS stuff.
Reply if you know any, and look at the replies for new people/sites to follow 😊
Looking for blogs, YouTube channels, or anyone who just shares cool CSS stuff.
Reply if you know any, and look at the replies for new people/sites to follow 😊
Reposted by Keith J. Grant
This is why we fund scientists to study things like oyster slobber even if you don’t think it sounds important
⚠️ Chinese researchers have invented bone glue that mimics how oysters stick to surfaces underwater.
The adhesive can reportedly repair orthopedic fractures in 2-3 minutes, even in blood-rich environments, and is bioabsorbable.
interestingengineering.com/science/chin...
The adhesive can reportedly repair orthopedic fractures in 2-3 minutes, even in blood-rich environments, and is bioabsorbable.
interestingengineering.com/science/chin...
China's oyster-inspired 'bone glue' bonds fractures in minutes
A new oyster-inspired Bone-02 adhesive can revolutionize bone repair without metal fasteners.
interestingengineering.com
September 30, 2025 at 10:35 PM
This is why we fund scientists to study things like oyster slobber even if you don’t think it sounds important
Reposted by Keith J. Grant
Please, please, please do this. One of my biggest JS pet peeves is when people catch errors then throw a new error without including the cause. You’re shooting yourself in the foot.
JS pro tip: Add { cause } to errors. Makes debugging and inspection way easier 🔍
developer.mozilla.org/en-US/docs/W...
developer.mozilla.org/en-US/docs/W...
October 1, 2025 at 10:46 PM
Please, please, please do this. One of my biggest JS pet peeves is when people catch errors then throw a new error without including the cause. You’re shooting yourself in the foot.
This is wild. I’m not sure there’s any other game I’ve played through (or attempted to play through) more times than Mega Man 2. I love that game
September 30, 2025 at 4:09 AM
This is wild. I’m not sure there’s any other game I’ve played through (or attempted to play through) more times than Mega Man 2. I love that game
Reposted by Keith J. Grant
Give folks their flowers
No, I mean right now. Go tell someone you loved their work right now. They're on social media just say it, it has never been easier
"They know how much people love--" no they don't go say it right now to a composer or artist or game dev or writer or anyone AAAAAAAHHHHHHHHH
No, I mean right now. Go tell someone you loved their work right now. They're on social media just say it, it has never been easier
"They know how much people love--" no they don't go say it right now to a composer or artist or game dev or writer or anyone AAAAAAAHHHHHHHHH
September 29, 2025 at 9:39 PM
Give folks their flowers
No, I mean right now. Go tell someone you loved their work right now. They're on social media just say it, it has never been easier
"They know how much people love--" no they don't go say it right now to a composer or artist or game dev or writer or anyone AAAAAAAHHHHHHHHH
No, I mean right now. Go tell someone you loved their work right now. They're on social media just say it, it has never been easier
"They know how much people love--" no they don't go say it right now to a composer or artist or game dev or writer or anyone AAAAAAAHHHHHHHHH
One of my periodic hobbies is making cakes. Today I made Opera Cake for my wife’s birthday 😄
September 29, 2025 at 2:52 AM
One of my periodic hobbies is making cakes. Today I made Opera Cake for my wife’s birthday 😄
I really want to do the right thing and order a @cooksillustrated.bsky.social book direct from them rather than Amazon, but ten bucks for shipping?! Especially when I know the USPS media rate is only a fraction of that
September 28, 2025 at 4:27 PM
I really want to do the right thing and order a @cooksillustrated.bsky.social book direct from them rather than Amazon, but ten bucks for shipping?! Especially when I know the USPS media rate is only a fraction of that
Reposted by Keith J. Grant
We’re live!! My brand-new course, “Whimsical Animations”, is now available. 🥳🎉
whimsy.joshwcomeau.com
I’m so excited to share all of my animation tools and techniques with y’all. 😄
whimsy.joshwcomeau.com
I’m so excited to share all of my animation tools and techniques with y’all. 😄
Whimsical Animations
Learn how to create charming interactions and delightful touches using the magic of CSS, JavaScript, SVG, and Canvas. I’m sharing all my tricks in this one!
whimsy.joshwcomeau.com
September 24, 2025 at 2:56 PM
We’re live!! My brand-new course, “Whimsical Animations”, is now available. 🥳🎉
whimsy.joshwcomeau.com
I’m so excited to share all of my animation tools and techniques with y’all. 😄
whimsy.joshwcomeau.com
I’m so excited to share all of my animation tools and techniques with y’all. 😄
Half off CSS in Depth eBook (and all other Manning eBooks) today only!
www.manning.com/books/css-in...
www.manning.com/books/css-in...
CSS in Depth, Second Edition - Keith J. Grant
To create web designs that delight, entertain, and impress your users, you need to know CSS in depth!
Getting good—really good—at CSS means learning everything that CSS is capable of. This totally re...
www.manning.com
September 24, 2025 at 7:40 PM
Half off CSS in Depth eBook (and all other Manning eBooks) today only!
www.manning.com/books/css-in...
www.manning.com/books/css-in...
Reposted by Keith J. Grant
✨ I just published a brand-new blog post about a modern CSS feature!
But, honestly, I’m still on the fence about it. 😅
In this post, I’ll dig into the gnarly issue I ran into, and share three possible workarounds. Along the way, you’ll learn a bunch about the CSS cascade and specificity!
But, honestly, I’m still on the fence about it. 😅
In this post, I’ll dig into the gnarly issue I ran into, and share three possible workarounds. Along the way, you’ll learn a bunch about the CSS cascade and specificity!
The Big Gotcha With @starting-style • Josh W. Comeau
CSS has been on fire lately, with tons of great new features. @starting-style is an interesting one; it allows us to use CSS transitions for enter animations, something previously reserved for CSS key...
www.joshwcomeau.com
September 22, 2025 at 2:21 PM
✨ I just published a brand-new blog post about a modern CSS feature!
But, honestly, I’m still on the fence about it. 😅
In this post, I’ll dig into the gnarly issue I ran into, and share three possible workarounds. Along the way, you’ll learn a bunch about the CSS cascade and specificity!
But, honestly, I’m still on the fence about it. 😅
In this post, I’ll dig into the gnarly issue I ran into, and share three possible workarounds. Along the way, you’ll learn a bunch about the CSS cascade and specificity!
Reposted by Keith J. Grant
❌ mobile first
✅ container first
✅ container first
September 21, 2025 at 4:21 PM
❌ mobile first
✅ container first
✅ container first