Joined January 2016
1,339 Photos and videos
Restrict values between a min and max while keeping them fluid using `clamp()` in CSS. Very handy for implementing fluid design ✅
14
556
Don’t show intrusive interstitials or dialogs on mobile right after users land on your page from search ✅
3
141
Use Conditional Breakpoints in Chrome Dev Tools to pause execution only when a specific condition is met. It's useful for faster, targeted debugging ✅
1
5
268
Don't make screen reader users guess what your table is about. Use `<caption>` inside `<table>` to tell them upfront ✅
4
213
Inspect live event properties on any element without a single code change using monitorEvents() in the Chrome Dev Tools console 🤩👇
2
9
572
You may not know that we have an HTML tag to semantically highlight part of the text 🤩👇
1
2
399
We can now throttle individual network requests or domains rather than throttling all the requests of the page in Chrome Dev Tools 🤩 This makes debugging and developing faster for scenarios where we want to see how our app behaves when a particular resource loads slowly 👇
1
3
231
Defer non-critical CSS for better performance ✅
7
239
Use :focus-visible instead of :focus to change outline styles ✅👇
5
29
1,623
Provide better UX for showing telephone/sms numbers by using tel:/sms: URL scheme ✅👇
1
2
197
Check it in action at this editable code playground 👇 codewithshripal.com/playgrou…

1
152
One line of code to prevent layout shift on scrollbar visibility change 🤩👇

ALT Layout of the element may get changed on scrollbar visibility change, which results in bad UX! We can easily avoid that using scrollbar-gutter, which adds space for scrollbar by default. If we want the spacing on both sides, we can set it to stable both-edges. CSS Code: .container { scrollbar-gutter: stable /* both-edges */; /* Supported in all modern browsers since December, 2024 */ } /* Fallback for older browsers. */ @supports not (scrollbar-gutter: stable) { .container { overflow-y: scroll; } }

9
74
3,079
Simplify long CSS selectors using :where() 👇
1
20
726
You may not know that we can quickly change CSS color format using this one shortcut in Chrome Dev Tools ✨👇 Also, when you hover over any color format other than hex, it shows the color value in hex for quick copying.
1
4
314
Shripal Soni retweeted
Introducing: PlayerZero The world's first Engineering World Model that puts debugging, fixing, and testing your code on autopilot. We've raised $20M from Foundation Capital, @matei_zaharia (Databricks), @pbailis (Workday), @rauchg (Vercel), @zoink (Figma), @drewhouston (Dropbox), and more PlayerZero frees up 30% of your engineering bandwidth by: 1.⁠ ⁠Finding the root cause for bugs & incidents in minutes that engineering teams take days to identify. 2.⁠ ⁠Predicting in minutes, edge case issues that a 300-person QA team would take weeks to find. ------ Here's why this matters: No one in your org has a complete picture of how your production software actually behaves. Support sees tickets. SRE sees infra. Dev sees code. Each team builds their own fragmented view - and none of these systems talk to each other. When something breaks, everyone scrambles to stitch the picture together by hand. PlayerZero connects all of it into a single context graph - → The Slack thread where your lead said "we went with X because Y fell apart in prod last time" → The PR review where an engineer explained the tradeoff → The lifetime history of your CI/CD pipeline, observability stack, incidents, and support tickets So you can trace any problem to its root cause across every silo. And it compounds. Every incident diagnosed teaches the model something new. The longer it runs, the deeper it understands - which code paths are high-risk, which configurations are fragile, which changes tend to break which customer flows. So when you sit down to debug a live issue, you have your entire org's collective reasoning and production memory behind you - instantly. ------ Zuora, Georgia-Pacific, and Nylas have reduced resolution time by 90% and caught 95% of breaking changes and freeing an average of $30M in engineering bandwidth. ------ Our guarantee: If we can't increase your engineering bandwidth by at least 20% within one week, we'll donate $10,000 to an open-source project of your choice. Book a demo - bit.ly/3NlLMeN
873
762
5,247
2,751,695
We can now easily create keyboard-friendly popovers natively. No javascript needed! 🤩👇

ALT We can create popovers using the native Popover API and position them using CSS Anchor Positioning. HTML Code (Using popover API): <button class="trigger" popovertarget="profile-details">...</button> <div id="profile-details" popover>...</div> CSS Code (Using CSS anchor positioning): .trigger { anchor-name: --trigger-btn; } [popover] { position-anchor: --trigger-btn; top: anchor(bottom); left: anchor(left); margin: 10px 0 0; } Benefits: - Renders on top-layer (no z-index war) - Closes on outside click or on ESC (not for “manual” popover) ((Multiple popover=”manual” can coexist and must be closed by JS or using popovertarget=”POP_ID” popovertargetaction="hide" on close button) - Built-in focus management - Works in all modern browsers since January, 2026

1
13
291
For better debugging, attach the original error as `cause` when rethrowing an error ✅
1
1
8
378
Easily customise underline thickness without affecting layout using `text-decoration-thickness` in CSS ✨
1
1
3
274
Here is the editable code playground to see it in action 👇 codewithshripal.com/playgrou…

136
Ensure links in body text stand out clearly for better accessibility ✅
1
6
268