Search
Native Video on the Web
6.3.2019
TIL about the HLS video format:
HLS stands for HTTP Live Streaming. It’s an adaptive bitrate streaming protocol developed by Apple. One of those sentences to casually drop at any party. Äh. Back on track: HLS allows you to specify a playlist with multiple video sources in different resolutions....
The Client/Server Rendering Spectrum
6.3.2019
I've definitely been guilty of thinking about rendering on the web as a two-horse race. There is Server-Side Rendering (SSR, like this WordPress site is doing) and Client-Side Rendering (CSR, like a typical React app). Both are full of advantages and disadvantages. But, of course, the conversation...
Refactoring Tunnels
6.3.2019
We’ve been writing a lot about refactoring CSS lately, from how to take a slow and methodical approach to getting some quick wins. As a result, I’ve been reading a ton about this topic and somehow stumbled upon this post by Harry Roberts about refactoring and how to mitigate the potential risks...
Why I Write CSS in JavaScript
5.3.2019
I'm never going to tell you that writing your CSS in CSS (or some syntactic preprocessor) is a bad idea. I think you can be perfectly productive and performant without any tooling at all. But, I also think writing CSS in JavaScript is a good idea for component-based styles in codebases that build...
CSS Triangles, Multiple Ways
5.3.2019
I like Adam Laki's Quick Tip: CSS Triangles because it covers that ubiquitous fact about front-end techniques: there are always many ways to do the same thing. In this case, drawing a triangle can be done:
with border and a collapsed element
with clip-path: polygon()
with transform: rotate()...
Do CSS Custom Properties Beat Sass Loops?
2.3.2019
I reckon that a lot of our uses of Sass maps can be replaced with CSS Custom properties – but hear me out for a sec.
When designing components we often need to use the same structure of a component but change its background or text color based on a theme. For example, in an alert, we might need...
I Spun up a Scalable WordPress Server Environment with Trellis, and You Can, Too
28.2.2019
A few years back, my fledgling website design agency was starting to take shape; however, we had one problem: managing clients' web servers and code deployments. We were unable to build a streamlined process of provisioning servers and maintaining operating system security patches. We had...
Get File MIME Type from Command Line
28.2.2019
I’ve gotten skilled at shell scripting over the years. I love a good GUI but knowing how to automate makes you a much more powerful engineer. Much of my scripting requires recursing over directories and processing a file if it meets a given criteria, which is often file extension or MIME...
Did you know that CSS Custom Properties can handle images too?
27.2.2019
So you might be aware of CSS Custom Properties that let you set a variable, such as a theme color, and then apply it to multiple classes like this:
:root {
--theme: #777;
}
.alert {
background: var(—-theme);
}
.button {
background: var(—-theme);
}
Well, I had seen this pattern so often...
Control Icons with Font Size
27.2.2019
Here’s a nifty trick from Andy Bell that now seems a little obvious in hindsight: if you set an SVG to have a width and height of 1em then you can change the size of it with the font-size property.
Try and change the font-size on the body element below to see the icon scale with the text:
...
Six tips for better web typography
27.2.2019
How do we avoid the most common mistakes when it comes to setting type on the web? That’s the question that’s been stuck in my head lately as I’ve noticed a lot of typography that’s lackluster, frustrating, and difficult to read. So, how can we improve interfaces so that our content is easy to read...
Create Your First Visual Studio Code Extension
26.2.2019
When Visual Studio Code doesn't do what you want it to, you install an extension. When you can't find an extension that does exactly what you need, you create your own! In this article, we will loo
iconsvg.xyz
25.2.2019
There is a lot to like about Gaddafi Rusli's ICONSVG.
It provides inline <svg>, which is the most generically useful way to deliver them, and probably how they should be used anyway. Each icon is a tiny amount of SVG and I'd bet they were all hand-golfed.
They are all stroke-based, so they...
Dealing with overflow and position: sticky;
25.2.2019
Any overflow value other than visible and no height is the enemy of child elements with position: sticky;. It's like that element is ready to stick when the parent scrolls, but it never does because the height is unconstrained. Adding a fixed height can solve the issue, but that's not always...
Responsive Designs and CSS Custom Properties: Defining Variables and Breakpoints
25.2.2019
CSS custom properties (a.k.a. CSS variables) are becoming more and more popular. They finally reached decent browser support and are slowly making their way into various production environments. The popularity of custom properties shouldn’t come as a surprise, because they can be really helpful...
Chris Coyier’s Favorite CodePen Demos IV
25.2.2019
Did you know you can triple-heart things on CodePen? We’ve had that little not-so-hidden feature forever. You can click that little heart button on any Pen (or Project, Collection, or Post) on CodePen to show the creator a little love, but you can click it again and again to heart it just that...
Build an Infinite Scroll Image Gallery with React, CSS Grid and Unsplash (Solution to Code Challenge #16)
25.2.2019
Last week on the code challenge we set out to build an image gallery with Infinte Scroll and consuming the Unsplash API. You can complete the challenge here if you haven't.
In this post, we
Writing Animations That Bring Your Site to Life
22.2.2019
Web animation is one of the factors that can strongly enhance your website’s look and feel. Sadly, unlike mobile apps, there aren’t as many websites using animation to their benefit as you would think. We don’t want to count yours among those, so this article is for you and anyone else looking...
Colorful Typographic Experiments
21.2.2019
There have been some interesting, boundary-pushing typography-related experiments lately. I was trying to think of a joke like "somethings in the descenders" but I just can't find something that will stand on its own leg without being easy to counter.
Codrin Pavel created a fascinating multi-color...
SVG Filter Effects: Creating Texture with <feTurbulence>
19.2.2019
Learn how you can use the powerful SVG filter primitive <feTurbulence> to create your own textures and distortion effects.
SVG Filter Effects: Creating Texture with <feTurbulence> was written by Sara Soueidan and published on Codrops