Search
Fighting FOIT and FOUT Together
19.12.2018
Lots from Divya with the setup:
There are 2 kinds of problems that can arise when using webfonts; Flash of invisible text (FOIT) and Flash of Unstyled Text (FOUT) ... If we were to compare them, FOUT is of course the lesser of the two evils
If you wanna fight FOIT, the easiest tool is...
Google Fonts and font-display
19.12.2018
The font-display descriptor in @font-face blocks is really great. It goes a long way, all by itself, for improving the perceived performance of web font loading. Loading web fonts is tricky stuff and having a tool like this that works as well as it does is a big deal for the web.
It's such a...
Ease-y Breezy: A Primer on Easing Functions
18.12.2018
During the past few months, I’ve been actively teaching myself how to draw and animate SVG shapes. I’ve been using CSS transitions, as well as tools like D3.js, react-motion and GSAP, to create my animations.
One thing about animations in general and the documentation these and other animation...
How to Worry About npm Package Weight
18.12.2018
It's all too easy to go crazy with the imports and end up with megabytes upon megabytes of JavaScript. It can be a problem as that weight burdens each and every visitor from our site, very possibly delaying or stopping them from doing what they came to do on the site. Bad for them, worse for you....
Nobody is quite wrong.
17.12.2018
There are two opposing views on using non-polyfillable new web features that I find are both equally common in our industry:
Websites don't need to look the same in every browser. The concept of progressive enhancement helps with that. There are tools, even native language features, that help with...
A CSS Venn Diagram
17.12.2018
This is pretty wild: Adrian Roselli has made a series of rather complex Venn diagrams using nothing but CSS. With a combination of the Firefox dev inspector, plus a mixture of CSS Grid and the shape-outside property, it’s possible to do this and without a ton of hacks, too.
I also think it’s super...
Reversing an Easing Curve
17.12.2018
Let’s take a look at a carousel I worked on where items slide in and out of view with CSS animations. To get each item to slide in and out of view nicely I used a cubic-bezier for the animation-timing-function property, instead of using a standard easing keyword.
See the Pen Carousel with reversed...
Annotated Build Processes
14.12.2018
When you're putting together a build process for a site, it's so dang useful to look at other people's processes. I ran across Andrew Welch's "An Annotated webpack 4 Config for Frontend Web Development" the other day and was glad he blogged it. If I was kicking off a new site where I wanted...
Making SVG icon libraries for React apps
14.12.2018
Nicolas Gallagher:
At Twitter I used the approach described here to publish the company’s SVG icon library in several different formats: optimized SVGs, plain JavaScript modules, React DOM components, and React Native components.
There is no One True Way© to make an SVG icon system. The only...
Two Ways to Build a Site That Seem Super Different But Weirdly Aren’t That Different
14.12.2018
Here are two ways to build a site (abstractly) that feel diametrically opposed to me:
Build a site as an SPA (Single Page App). The page loads a skeleton HTML page that executes JavaScript as quickly as it can. The JavaScript calls an API to get data, and then the page renders content. Navigation...
JavaScript to Native (and Back!)
14.12.2018
I admit I'm quite intrigued by frameworks that allow you write apps in web frameworks because they do magic to make them into native apps for you. There are loads of players here. You've got NativeScript, Cordova, PhoneGap, Tabris, React Native, and Flutter. For deskop apps, we've got Electron....
Rendering Lists Using React Virtualized
13.12.2018
Working with data in React is relatively easy because React is designed to handle data as state. The hassle begins when the amount of data you need to consume becomes massive. For example, say you have to handle a dataset which is between 500-1,000 records. This can result in massive loads and lead...
Level up your JavaScript error monitoring
13.12.2018
(This is a sponsored post.)
Automatically detect and diagnose JavaScript errors impacting your users with Bugsnag. Get comprehensive diagnostic reports, know immediately which errors are worth fixing, and debug in a fraction of the time.
Bugsnag detects every single error and prioritizes errors...
Keep Math in the CSS
12.12.2018
There is a sentiment that leaving math calculations in your CSS is a good idea that I agree with. This is for math that you could calculate at authoring time, but specifically chose not to. For instance, if you needed a 7-column float-based grid (don't ask), it's cleaner and more intuitive:
.col...
Web Designs That Feel Like Ancient History, but Are More Recent Than You Think
12.12.2018
Flickr announced not long ago that they are limiting free accounts to 1,000 photos. I don't particularly mind that (because it seems like sound business sense), although it is a bit sad that a ton of photos will be nuked from the internet. I imagine the Internet Archive will swoop in and get most...
Prototypes and production
11.12.2018
There’s an interesting distinction that Jeremy Keith defines between prototype code and production code in this post and I’ve been thinking about it all week:
...every so often, we use the materials of front-end development—HTML, CSS, and JavaScript—to produce something that isn’t intended...
Creating an Animated Login Form for TouchID
11.12.2018
I came across this amazing Dribbble shot by Jakub Reis a while back. It caught my eye and I knew that I just had to try recreating it in code. At that moment, I didn’t know how. I tried out a bunch of different things, and about a year later, I finally managed to make this demo.
I learned a couple...
What makes someone a good front-end developer?
11.12.2018
We recently covered this exact same thing, but from the perspective of a bunch of developers.
Chris Ferdinandi weighs in:
The least important skills for a front-end developer to have are technical ones.
The nuances of JavaScript. How to use a particular library, framework, or build tool. How...
Why isn’t it <style src=””>?
10.12.2018
The way JavaScript works is we can do scripts as an inline block:
<script>
let foo = "bar";
</script>
Or, if the script should be fetched from the network...
<script src="/js/global.js"></script>
With CSS, we can do an inline block of styles:
<style>
.foo...
An Introduction and Guide to the CSS Object Model (CSSOM)
10.12.2018
If you've been writing JavaScript for some time now, it's almost certain you've written some scripts dealing with the Document Object Model (DOM). DOM scripting takes advantage of the fact that a web page opens up a set of APIs (or interfaces) so you can manipulate and otherwise deal with elements...