Writing about everything JavaScript one topic at a time. Over 300k readers since 2015 💻 #javascript #react

Bali
Joined December 2022
These 7%-10% flushes in #Bitcoin are happening a lot more often than I thought. What it signals to me is that OTC desks are being very quickly wiped out and leveraged traders are where they're being refilled from - which cannot last forever. I suspect the MSTR and ETF buying pressure is too much if the BlackRock Boyz have to run this back every 3/4 days.
2
2
9
201
My favorite crypto picks are #ADA #BTC and #PiNetwork. Thread below on each 🧵
3
3
11
510
🌍 Wanderlust Giveaway! 🌍 Love to travel? We’re giving away 50 FREE Pro accounts for life! 👇How to Enter: 1️⃣ Follow us. 2️⃣ Sign up on wanderlustapp.io 3️⃣ Tag two friends. The first 50 people who sign up will get the free Pro accounts for life. Don’t miss out—start exploring with us!😍 . . #wanderlust #giveaway #proaccount #travellovers #nomad #travelsmart #dayoff #aitravel #travelapp #free #lifetime #proaccount #travelweek
2
9
11
246
🥳Announcing lineup for 'The Verified Dubai 2024', cohosted by @NEARFoundation and paramita.vc 📷🔗lu.ma/TheVerified2024DUBAI Delighted to have @sharqureshi1 from @QURE_XR join us. See you soon at #THEVERIFIED
4
1
15
3,868
#buildinpublic Just passed the 800 user mark! Give @WanderlustExt a try FREE on the chrome/edge/firefox extension store and let me know what I should work on next 🌍 #wanderlust
1
4
1
18
3,080
If you aren't investing in SEO for your #SmallBusiness , you're missing out on real growth! #seo
In case you missed it: Check out our latest blog post on SEO - what it is and why it's worth it! buff.ly/3v2Pnok 📖🔝 #ICYMI #SEOInsights
5
1
16
2,898
In case you missed it: Check out our latest blog post on Orphaned Content, all you need to know! buff.ly/3TsskNJ 📖🔝 #orphanedcontent #SEOInsights
2
13
186
Can't believe we have 700 users across 94 different countries 🌍 We're always improving #Wanderlust for you, so let us know what you'd like to see!
2
5
17
1,058
Wow, 700 users! I love you all, thank you for using @wanderlustext ❤️ #buildinpublic #buildinginpublic
1
4
18
882
🗺️ Get ready for hassle-free travel planning! Our AI assistant for premium users suggests destinations, activities, and more, all based on your likes. #EasyPlanning #WanderlustPremium
2
12
556
🌎 Wanderlust's map feature: See the countries you've visited and plan where to next. Your personal travel diary! #GlobeTrotters #buildinginpublic
3
14
807
🎉 Big Reveal: We're excited to unveil the new face of Web Design Awards! Our fresh logo symbolizes our commitment to innovation and excellence in web design. Check it out and let us know what you think! #NewLookWDA #WebDesignExcellence
4
14
529
UI && CSS Tip! 🔥 You can create these dynamic glowing card effects with a single JavaScript event listener, some CSS tricks, and an HTML attribute 🤙
Here's how! 👇 You can use a combination of tricks from previous posts. Let's start with the JavaScript 📜 Use a function like this to send the pointer position via custom properties to the glows ✨ Attach this to the pointermove event 👆 const onPointermove = ({ x, y }) => { document​.documentElemen​t​.style.setProperty('--x', x) document.documentElement​.style.setProperty('--xp', x / innerWidth) document.documentElement​.style.setProperty('--y', y) document.documentElement​.style.setProperty('--yp', y / innerHeight) } Now for the styles 🎨 These custom properties define the border and spotlight size. The first trick is how you can change the color(--hue) based on the pointer position with calc 😎 [data-glow] { --border-size: 2px; --spotlight-size: 150px; --hue: calc(var(--base) + (var(--xp) * var(--spread))); } The magic is using the pointer position in a radial-gradient combined with background-attachment: fixed ✨ (Check the video for an exploding view 🎞️) [data-glow] { background-image: radial-gradient( var(--spotlight-size) var(--spotlight-size) at calc(var(--x, 0) * 1px) calc(var(--y, 0) * 1px), hsl(var(--hue) 100% 70% / 0.25), transparent ); background-attachment: fixed; } The last major piece is using mask-composite on the pseudoelements of the [data-glow] element and the same background-attachment: fixed trick 🫶 [data-glow]::before, [data-glow]::after { pointer-events: none; content: ""; position: absolute; inset: calc(var(--border-size) * -1); border: var(--border-size) solid transparent; background-attachment: fixed; background-size: calc(100% + (2 * var(--border-size))); background-position: 50% 50%; mask: linear-gradient(transparent, transparent), linear-gradient(white, white); mask-clip: padding-box, border-box; mask-composite: intersect; } This masks the elements so only a fake border is shown. That border is actually the spotlight background that moves around 👀 But now it's clipped to the border width 😎 Then it's a case of switching out the background-image for each pseudoelement based on purpose 🧐 For example, to get the white light, use your custom properties, make the light a little smaller and the color bright! [data-glow]::after { background-image: radial-gradient( calc(var(--spotlight-size) * 0.5) calc(var(--spotlight-size) * 0.5) at calc(var(--x, 0) * 1px) calc(var(--y, 0) * 1px), hsl(0 100% 100% / 1), transparent ); } These are the major pieces you need to get it done. Extras? Want the outer glow? Nest a glow!
Give the inner glow a blur to create the outer glow 😅 [data-glow] > [data-glow] { filter: blur(10px); } It's worth digging in with this one. Have a play around with the demo and the custom properties. The code isn't perfect after introducing all the configuration pieces 😅 Will put together a reduced example for you! 🙏 Any questions, let me know! 💙 @CodePen link below! 👇
– One HTML attribute – One JavaScript event listener – Configurable via CSS custom properties Let's get this explodin' 🤙
21
131
4
1,304
382,451
Quite a lot of CSS trickery to cover in one video 😅 Here you can see how it plays with multiple cards that have transparency 👇😎
UI && CSS Tip! 🔥 You can create these dynamic glowing card effects with a single JavaScript event listener, some CSS tricks, and an HTML attribute 🤙
Here's how! 👇 You can use a combination of tricks from previous posts. Let's start with the JavaScript 📜 Use a function like this to send the pointer position via custom properties to the glows ✨ Attach this to the pointermove event 👆 const onPointermove = ({ x, y }) => { document​.documentElemen​t​.style.setProperty('--x', x) document.documentElement​.style.setProperty('--xp', x / innerWidth) document.documentElement​.style.setProperty('--y', y) document.documentElement​.style.setProperty('--yp', y / innerHeight) } Now for the styles 🎨 These custom properties define the border and spotlight size. The first trick is how you can change the color(--hue) based on the pointer position with calc 😎 [data-glow] { --border-size: 2px; --spotlight-size: 150px; --hue: calc(var(--base) + (var(--xp) * var(--spread))); } The magic is using the pointer position in a radial-gradient combined with background-attachment: fixed ✨ (Check the video for an exploding view 🎞️) [data-glow] { background-image: radial-gradient( var(--spotlight-size) var(--spotlight-size) at calc(var(--x, 0) * 1px) calc(var(--y, 0) * 1px), hsl(var(--hue) 100% 70% / 0.25), transparent ); background-attachment: fixed; } The last major piece is using mask-composite on the pseudoelements of the [data-glow] element and the same background-attachment: fixed trick 🫶 [data-glow]::before, [data-glow]::after { pointer-events: none; content: ""; position: absolute; inset: calc(var(--border-size) * -1); border: var(--border-size) solid transparent; background-attachment: fixed; background-size: calc(100% + (2 * var(--border-size))); background-position: 50% 50%; mask: linear-gradient(transparent, transparent), linear-gradient(white, white); mask-clip: padding-box, border-box; mask-composite: intersect; } This masks the elements so only a fake border is shown. That border is actually the spotlight background that moves around 👀 But now it's clipped to the border width 😎 Then it's a case of switching out the background-image for each pseudoelement based on purpose 🧐 For example, to get the white light, use your custom properties, make the light a little smaller and the color bright! [data-glow]::after { background-image: radial-gradient( calc(var(--spotlight-size) * 0.5) calc(var(--spotlight-size) * 0.5) at calc(var(--x, 0) * 1px) calc(var(--y, 0) * 1px), hsl(0 100% 100% / 1), transparent ); } These are the major pieces you need to get it done. Extras? Want the outer glow? Nest a glow!
Give the inner glow a blur to create the outer glow 😅 [data-glow] > [data-glow] { filter: blur(10px); } It's worth digging in with this one. Have a play around with the demo and the custom properties. The code isn't perfect after introducing all the configuration pieces 😅 Will put together a reduced example for you! 🙏 Any questions, let me know! 💙 @CodePen link below! 👇
8
72
1
662
61,094
🎉 Major update! @Wanderlustext now supports Firefox & Edge. More ways to explore the world every time you open a new tab! #buildinginpublic #wanderlust
2
1
17
435
🌍 Every new tab is a new adventure with Wanderlust! Loving how our browser extension transforms daily browsing with a beautiful new place around the world on every new tab. @Wanderlustext #buildinginpublic buff.ly/47WI7c8
1
3
12
391