Optional Chaining
29.7.2019
For all of the improvements that the JavaScript language has added over the past few years, like the spread operator, default argument values, and arrow functions, there are still a few features I’d love to see implemented. On such feature is optional chaining. Optional chaining allows...
Telling the Story of Graphic Design
26.7.2019
Let me just frame this for you: we're going to take a piece of production UI from a Sketch file, break it down into pieces of information and then build it up into a story we tell our friends. Our friends might be hearing, or seeing, or touching the story so we are going to interpret and translate...
Datalist is for suggesting values without enforcing values
26.7.2019
Have you ever had a form that needed to accept a short, arbitrary bit of text? Like a name or whatever. That's exactly what <input type="text"> is for. There are lots of different input types (and modes!), and picking the right one is a great idea.
But this little story is about something...
JavaScript Proxy with Storage
26.7.2019
The JavaScript Proxy API provides a wealth of “magic” within JavaScript, allowing you to use any object as sort of an alias that allows a wall of validation, formatting, and error throwing. Did you know that you could also employ the Proxy API as an abstraction to different types...
Weekly news: Truncating muti-line text, calc() in custom property values, Contextual Alternates
26.7.2019
In this week's roundup, WebKit's method for truncating multi-line text gets some love, a note on calculations using custom properties, and a new OpenType feature that prevents typographic logjams.
The post Weekly news: Truncating muti-line text, calc() in custom property values, Contextual...
My Favorite Netlify Features
25.7.2019
👋 Hey folks! Silvestar pitched this post to us because he is genuinely enthusiastic about JAMstack and all of the opportunities it opens up for front-end development. We wanted to call that out because, although some of the points in here might come across as sponsored content and Netlify...
Responsive Iframes
25.7.2019
Say you wanted to put the CSS-Tricks website in an <iframe>. You'd do that like this:
<iframe src="https://css-tricks.com"></iframe>
Without any other styling, you'd get a rectangle that is 300x150 pixels in size. That's not even in the User Agent stylesheet, it's just some...
How Google PageSpeed Works: Improve Your Score and Search Engine Ranking
25.7.2019
In this article, we uncover how PageSpeed calculates it’s critical speed score.
It’s no secret that speed has become a crucial factor in increasing revenue and lowering abandonment rates. Now that Google uses page speed as a ranking factor, many organizations have become laser-focused...
What I Like About Vue
25.7.2019
Dave Rupert digs into some of his favorite Vue features and one particular issue that he has with React:
I’ve come to realize one thing I don’t particularly like about React is jumping into a file, reading the top for the state, jumping to the bottom to find the render function, then following...
Collective #535
25.7.2019
Multi-column manipulation * Guide to BigInt * Rooki * Fast Software, the Best Software * Index fun
Collective #535 was written by Pedro Botelho and published on Codrops
Zdog
24.7.2019
David DeSandro has loads of super cool JavaScript libraries he's created over the years. His latest is Zdog, a "round, flat, designer-friendly pseudo-3D engine for canvas & SVG." It's only been about a month since he dropped it (although, like any good library, it's been simmering) and it...
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...