Sign in

Ion Prodan

@iprodan.dev
1.3K followers 656 following 223 posts

Ion Prodan, 16+ yrs of frontend dev, mostly in Angular. Crafting: snipsco.com, zipitly.com

PostsRepliesMedia
Reposted by Ion Prodan
Nilesh Prajapati @nileshprajapati.com · 03/09/2026
#CSS @scope for beginners by @iprodan.dev
iprodan.dev
CSS @scope for beginners
@scope fences CSS so short selectors stay inside a card, article, or theme island — and can stop before a nested widget.
182
Ion Prodan @iprodan.dev · 25/08/2026
`sibling-index()`, and `sibling-count()` are Baseline, newly available since August 2026. 🤘 Before this, staggered animations or dynamic layouts meant writing a bunch of `:nth-child()` rules. Now you can do it cleanly ⤵️
020
Ion Prodan @iprodan.dev · 24/08/2026
CSS finally lets you animate elements when they first appear. 👇 `@\starting-style` is Baseline, newly available since August 2024. 🤟 90% Global usage! Before this, transitions didn’t run on an element’s first style update. You needed JavaScript hacks.
011
Ion Prodan @iprodan.dev · 22/08/2026
I’m growing a community on Reddit, I think I’m doing pretty well! iff you’re like me, sharing code snippets, come join me in r/codesnip 💪 There’s an audience you don’t want to miss.
030
Ion Prodan @iprodan.dev · 20/08/2026
Do you all remember the CSS `light-dark()` function? It just got an upgrade! It now accepts images too ⤵️ No more media queries just to swap background images. Still limited availability (Chrome 150+, Firefox 150+, Safari not yet).
091
Reposted by Ion Prodan
CSS by T. Afif @css-only.dev · 19/08/2026
A responsive CSS grid, some Scroll-Driven Animations, and a touch of magic. The perfect recipe for a cool CSS-only hover effect! 🤩 css-tip.com/hover-proxim... One fancy demo (among many) we can create using modern CSS.
3463
Ion Prodan @iprodan.dev · 19/08/2026
You can finally position tooltips, dropdowns, and menus relative to another element... in pure CSS. It became newly available in January 2026 when Firefox 147 completed the set. Oh man, I'm so happy about this 🤟
052
Ion Prodan @iprodan.dev · 18/08/2026
I read frontend articles, docs, and specs every morning. 🤟 Then I tell you what’s actually worth your time. Still experimenting. 😎 If that sounds useful, you can join here: bits.iprodan.dev
bits.iprodan.dev
Home | Frontend Bits by IP
Glad to have you here.
010
Reposted by Ion Prodan
Bramus @bram.us · 18/08/2026
New blog post: The Case for Tri-State Dark Mode Toggles brm.us/dark-mode-tr... #CSS #DarkMode #UX
brm.us
The Case for Tri-State Dark Mode Toggles
Adding a Dark Mode toggle to your website is a nice touch that many users appreciate. When implementing one, the default instinct for many developers is to reach for a simple binary switch: Light on o...
128714
Ion Prodan @iprodan.dev · 18/08/2026
I created a small interactive demo showcasing `contrast-color()`. Play with it here 👉🏻 iprodan.dev/l/contrast-c...
011
Ion Prodan @iprodan.dev · 17/08/2026
#1. The web just got a little more intelligent. 🤟 Meet `contrast-color()`: You give it any color; it returns either `black` or `white`, whichever provides better contrast. ⤵️ Shipped in Chrome 147, Safari 26, Firefox 146, and Edge 147 (April 2026). Pure CSS that guarantees readable text 💪🏼
1262
Reposted by Ion Prodan
Silvestar Bistrović @silvestar.codes · 17/08/2026
Sometimes designers have silly ideas that eventually grow on you. That happened to me with this concept where I had to build columns of items moving in
silvestar.codes
Using Scroll-Driven Animations for Opposing Scroll Directions ✣ S.Bistrović
Sometimes designers have silly ideas that eventually grow on you. That happened to me with this concept where I had to build columns of items moving in
131
Reposted by Ion Prodan
Frontend Dogma @frontenddogma.com · 28/04/2026
“safe” in Flex and Grid Alignment, by @iprodan.dev: iprodan.dev/l/safe-alignment #css #flexbox #grids #layout #alignment
iprodan.dev
CSS safe alignment (flex & grid) | Labs
What the safe keyword does in box alignment—and when to use it.
031
Ion Prodan @iprodan.dev · 21/04/2026
`image-set` should be the first choice when dealing with background images. Zero JS. Pure CSS! 💪 Widely available since September 2023
010
Ion Prodan @iprodan.dev · 09/04/2026
I created a free tool that not only converts an SVG to an image, but also scales it up to 2K. 👇 Paste, or upload or edit, as you want! You actually have a (small) code editor there. 😎 Don't miss it 👉🏻 snipsco.com/tools/svg-co...
010
Ion Prodan @iprodan.dev · 05/03/2026
This is the easiest way to switch between Dark/Light and System mode. 👇 Simply add an element with the selected `data-theme` mode, or remove it from the DOM to switch to System mode. It might not be perfect, but it's the fastest and simplest method! 🚀
000
Ion Prodan @iprodan.dev · 04/03/2026
Sometimes, this is still the most reliable CSS debugger we have 💪
110
Ion Prodan @iprodan.dev · 06/11/2025
Debouce in Angular signal form. Still in WIP.
161
Ion Prodan @iprodan.dev · 05/11/2025
New encapsulation in Angular 21, and nobody's talking about it! 😶 Handy for email builders, when you don't want any external styles to affect the builder elements, such as text and images, it should look the same as in an email service. Still in WIP, btw.
141
Ion Prodan @iprodan.dev · 04/11/2025
You don't know what this is about💡! A long, long time ago, I wanted to 'emulate' the Angular router, but only using CDK Portals and also supporting different outlets, lazy loading, and smooth transitions. Wait for it, you'll like it! 🤟
030
Ion Prodan @iprodan.dev · 28/10/2025
In Angular 21, we will probably have a structural directive `*routerOutletPlaceholder` for the Router placeholder. It hasn't been merged yet. The previous idea was to add support for `<ng-container routerOutlet />`, but it was reverted. What do you think about the placeholder?
050
Ion Prodan @iprodan.dev · 27/10/2025
signals > rxjs (change my mind) #Angular
330
Ion Prodan @iprodan.dev · 13/10/2025
Speaking of the `URL` class, let's see if we understand the difference from the old way (see previous tweet). So, what's the output of this?
020
Ion Prodan @iprodan.dev · 13/10/2025
Did you know? Thank me later!
020
Ion Prodan @iprodan.dev · 09/10/2025
How about this?
020
Ion Prodan @iprodan.dev · 08/10/2025
Do you know you MUST provide a valid reply email address to stay compliant? Even your no-reply address must be able to receive emails and handle "unsubscribe' requests or anything else the user wants. It's no longer enough to just include a link!
010
Ion Prodan @iprodan.dev · 08/10/2025
How would a senior refactor this? How would you do?
010
Ion Prodan @iprodan.dev · 03/09/2025
I'm so old now to just learning and understanding what cognitive dissonance and confirmation bias are. I feel a bit ashamed.
030
Ion Prodan @iprodan.dev · 07/07/2025
I'm planning to start a banking startup! It sounds crazy and feels risky, but I want to do it. I’m not alone in this. But some circumstances aren't in my control. I hope I can get past them and move on to the easy part: building.
010
Ion Prodan @iprodan.dev · 30/06/2025
What if we won't need to build the frontend anymore? All we'll need to do is just an MCP 🔥
010
Ion Prodan @iprodan.dev · 16/06/2025
This is mostly all I need from rxjs! 😀 with a few exceptions! What's your most used rxjs operators?
211
Ion Prodan @iprodan.dev · 12/06/2025
I remember talking about CDK Portals a long time ago! It’s a feature that still exists and is waiting to be used more. I had an idea back then to 'emulate' the Angular router, but with just portals 🙂. An experiment that would teach us, and you, in-depth how to use them.
010
Ion Prodan @iprodan.dev · 09/06/2025
I started reading again! 📖 I used to read much more often, but since my son was born, the rules have changed—by 180 degrees! Now he's five years old! 👶 I'm trying to get this habit back. Any recommendations? Startups, coding, tech!
130
Ion Prodan @iprodan.dev · 07/06/2025
Angular's `canMatch` guard is great! It allows different pages on the same path. For example, authenticated users see the dash page, while others see the auth page. It matches children, but it sends 2 requests if `canMatch` returns false from a child path. I like this method.
020
Ion Prodan @iprodan.dev · 06/06/2025
Not the best, but still good! What company details would you like to see next? I can show them to you for free today! 😀 All data should be publicly available.
All Tesla details
020
Ion Prodan @iprodan.dev · 05/06/2025
Help, please 🙏 Designers, how can I display all this data? Should I use a table or simple blocks? It's a lot of data to show!
000
Ion Prodan @iprodan.dev · 05/06/2025
What if you could get all the company contact details by simply pressing a button? Coming soon to quiky.email
020
Ion Prodan @iprodan.dev · 29/05/2025
Love juggling multiple projects! 😀 When one feels stale, I switch to another. Keeps the day fresh, no routine, and I’m learning new tech daily! 👍
030
Ion Prodan @iprodan.dev · 28/05/2025
Working with Angular Material 3 is truly a blessing!
020
Ion Prodan @iprodan.dev · 27/05/2025
Are you building a startup or you work in an enterprise company? Seriously, what’s your daily job?
010
Ion Prodan @iprodan.dev · 26/05/2025
In the #vibecoding era, setting up a project takes longer than usual! It took me ~7 hours to set up the project, find a great design, create all the rules, and UI/UX strategies. Now, I can just prompt, and the task is done in seconds. 💪🏼 Times have changed.
010
Ion Prodan @iprodan.dev · 23/05/2025
It's my first time using #Angular's `define` option property, and I encountered an issue! Who knows what the issue is?
010
Ion Prodan @iprodan.dev · 15/05/2025
The modern way of collecting info 🚀 Create an email agent, that collects all necessary details (it can ask, reply and so on) and add the user to a list. No more confirmation emails and form fields 👍 You are welcome!
010
Ion Prodan @iprodan.dev · 14/05/2025
Hey Angular devs, what's the purpose of the `percent` pipe if you can show the percentages like this? Is the percentage different in other languages? I still use the `percent` pipe, though, but I see this and I think, why not? 🤔 #Angular
210
Ion Prodan @iprodan.dev · 24/04/2025
I have collected several email marketing statistics on one page. You can view it here: aireply.email/stats, with links to sources. What other statistics should I include?
010
Ion Prodan @iprodan.dev · 07/04/2025
That brings back good memories! ✨ Should I update my website like this or not?
010
Ion Prodan @iprodan.dev · 30/03/2025
I’d like to work from an office, to interact with people! Too much time working remotely from home. To me, hybrid mode is the best, 2 days at home and 3 days in the office! Where do you work from?
320
Ion Prodan @iprodan.dev · 27/03/2025
I’d appreciate if somehow I could see the engagement of each post on @bsky.app. Is it even considered to be added?
000
Ion Prodan @iprodan.dev · 25/03/2025
I realize that if I don't limit free users, I work for them for free! Free tools should be very limited.
020
Ion Prodan @iprodan.dev · 24/03/2025
Throughout the years, I developed a skill to learn from videos only watching. Not even trying once! But I will forget everything if I don't try it in the next few weeks! Are you like me?
110