Search
Listen to your web pages
16.2.2020
A clever idea from Tom Hicks combining MutationObserver (which can "observe" changes to elements like when their attributes, text, or children change) and the Web Audio API for creating sounds. Plop this code into the console on a page where you'd like to listen to essentially any DOM change...
Ethereum’s Value Transfer Is Now Dominated by Stablecoins
31.1.2020
The Ethereum (ETH) blockchain has become home to a number of stablecoins. On January 29, Messari researcher Ryan Watkins explained that the stablecoin value transfer issued on the ETH chain recently flipped the number of native ether transactions. Essentially, Ethereum’s value transfer is...
The Deal with the Section Element
15.1.2020
Two articles published the exact same day:
Bruce Lawson on Smashing Magazine: Why You Should Choose HTML5 <article> Over <section>
Adam Laki on Pine: The Difference Between <section> and <div> Element
They are comparing slightly different things, but they both...
Debunking the Myth: Accessibility and React
15.1.2020
I find it notable when the blog of a major accessibility-focused company like Deque publishes an article called Debunking the Myth: Accessibility and React. Mark Steadman is essentially saying if a site has bad accessibility, it ain't React... it's you. The tools are there to achieve good...
Making Room for Variation
30.12.2019
Say you have a design system and you're having a moment where it doesn't have what you need. You need to diverge and create something new. Yesenia Perez-Cruz categorizes these moments from essentially ooops to niiice:
There are three kinds of deviations that come up in...
css.gg
18.12.2019
I'm not sure what to call these icons from Astrit Malsija. The title is "500+ CSS Icons, Customizable, Retina Ready & API" and the URL is "css.gg" but they aren't really named anything.
Anyway, their shtick is:
The 🌎's first icon library designed by code.
The idea is that they don't...
lite-youtube-embed
13.12.2019
A standard copy-and-paste YouTube embed lands on your page as an <iframe> which loads a big ol' pile of other stuff to play that video. But the UX of it is still essentially an image and a play button. Click the play button and the video plays. You can build essentially the same thing with...
iOS 13 Broke the Classic Pure CSS Parallax Technique
27.11.2019
I know. You hate parallax. You know what we should hate more? When things that used to work on the web stop working without any clear warning or idea why.
Way back in 2014, Keith Clark blogged an exceptionally clever CSS trick where you essentially use a CSS transform to scale an element down...
How We Perform Frontend Testing on StackPath’s Customer Portal
15.11.2019
Nice post from Thomas Ladd about how their front-end team does testing. The list feels like a nice place to be:
TypeScript - A language, but you're essentially getting various testing for free (passing the right arguments and types of variables)
Jest - Unit tests. JavaScript functions are doing...
JavaScript waitForTime
6.11.2019
I write a lot of tests for new features within Firefox DevTools. We have hundreds of “mochitests” which open the browser and perform synthetic actions like clicking, typing, and other user actions. I’ve previously written about waitForever which essentially halts following actions...
Link Underlines That Animate Into Block Backgrounds
23.9.2019
It's a cool little effect. The default link style has an underline (which is a good idea) and then on :hover you see the underline essentially thicken up turning into almost what it would have looked liked if you used a background-color on the link instead.
Here's an example of the effect on...
Automatically compress images on Pull Requests
19.9.2019
Sarah introduced us to GitHub Actions right after it dropped about a year ago. Now they have improved the feature and are touting its CI/CD abilities. Run tests, do deployment, do whatever stuff computers do! It's essentially a YAML file that says run this, then this, then this, etc., with...
Reverse Lookups with JavaScript
28.8.2019
I’ve always loved exploring regular expressions because they’re one of those skills that’s never taught in school — you need to pick them up on the fly, messing up and fixing them along the way. Regex’s are incredibly powerful, and one power they have are referred...
Lazy load embedded YouTube videos
20.8.2019
This is a very clever idea via Arthur Corenzan. Rather than use the default YouTube embed, which adds a crapload of resources to a page whether the user plays the video or not, use the little tiny placeholder webpage that is just an image you can click that is linked to the YouTube embed.
It still...
Don’t comma-separate :focus-within if you need deep browser support
24.7.2019
I really like :focus-within. It's a super useful selector that allows you to essentially select a parent element when any of its children are in focus.
Say you wanted to reveal some extra stuff when a <div> is hovered...
div:hover {
.extra-stuff {
/* reveal it */
}
}
That's...
A Little Reminder That Pseudo Elements are Children, Kinda.
8.7.2019
Here's a container with some child elements:
<div class="container">
<div>item</div>
<div>item</div>
<div>item</div>
</div>
If I do:
.container::before {
content: "x"
}
I'm essentially doing:
<div class="container">
...
New SLP Token Allows You to Transact in BTC But With BCH Fees
14.6.2019
There’s a new Simple Ledger Protocol (SLP) based token called BTC2 that’s backed 1:1 with BTC. People can obtain the BTC2 token using cryptocurrency swapping application Sideshift.ai. With BTC2, you can essentially transact BTC, but with the same network fee (less than a penny)...
instant.page
18.2.2019
instant.page is a pretty cool project from Alexandre Dieulot. Alexandre has been at this idea for half a decade now, as InstantClick is his and is essentially the same exact idea.
The idea is that there is a significant delay between hovering over a link and clicking that link. Say it takes...
Jetpack
3.1.2019
My favorite way to think about Jetpack is that it's a WordPress plugin that brings a whole heap of features to your site. I've documented the features that we use here on CSS-Tricks, which isn't even all of them (yet).
Some of Jetpack features are essentially connecting it to the powers...
CSS Environment Variables
4.5.2018
We were all introduced to the env() function in CSS when all that drama about "The Notch" and the iPhone X was going down. The way that Apple landed on helping us move content away from those "unsafe" areas was to provide us essentially hard-coded variables to use:
padding:
...