Search
Code as Documentation: New Strategies with CSS Grid
24.5.2019
I work for Supercool, a fast-moving design agency that makes custom built sites for arts clients, powered by the off-the-shelf system, Craft CMS; it's high-spec graphic design with relatively demanding typography and art direction. Over the past few months we’ve been moving to CSS grid. We’re...
Wix Is Challenging You to an SEO Battle for $25K (Sponsored)
24.5.2019
This year Wix launched a series of advanced SEO tools for Wix users to optimize their site pages for search engines and social media platforms. These tools include custom meta tags, canonical URLs, 301 redirects, structured data and rapid loading. So what’s the deal? To put their new SEO tools...
Corvid by Wix: Accelerated Development of Web Applications
25.4.2019
(This is a sponsored post.)
It's been interesting to watch Wix evolve from a website builder into a full-fledged platform for developing web applications. It's still just as easy for anyone to spin up a website with the visual builder that's always been there, but Wix Code was introduced a little...
Faking env() to Use it Now
18.4.2019
There is already an env() function in CSS, but it kinda came out of nowhere as an Apple thing for dealing with "The Notch" but it has made it's way to be a draft spec. The point will be for UAs or authors to declare variables that cannot be changed. Global const for CSS, sorta.
That spec doesn't...
Tuzemák, nebo kafíčko? V Praze je soutěž motocyklového umění
13.4.2019
Kde končí konstrukční dovednost a kde začíná umění? Co je dopravní prostředek, a kdy se jeho role mění na umělecký artefakt? Takové otázky napadnou každého návštěvníka výstavy přestaveb. Letošní soutěžní výstava přestaveb motocyklů Bohemian Custom Bike 2019 se koná společně s pražskou výstavou...
Get a CSS Custom Property Value with JavaScript
11.4.2019
Here’s a neat trick from Andy Bell where he uses CSS Custom Properties to check if a particular CSS feature is supported by using JavaScript.
Basically, he's using the ability CSS has to check for browser support on a particular property, setting a custom property that returns a value of either...
The Serif Tax
9.4.2019
Fonts are vector. Vector art with more points makes for larger files than vector art with fewer points. Custom fonts are downloaded. So, fonts with less points in their vector art are smaller. That's the theory anyway. Shall we see if there is any merit to it?
Open Sans (top) and Garamond...
AI-Based Video Preview from Cloudinary (Sponsored)
8.4.2019
The early days of video on the web weren’t great. We started with custom browser plugins and codecs, then moved to Flash, and eventually we found our way HTML <video>. Once we solved the technology problem, we started using more video for content and advertising. The next problem...
Building a Custom Sitemap for Your Gatsby.js Site
3.4.2019
Building static sites with React.js using Gatsby.js seem to be more and more a topic of debate when you require an easy to deploy setup, blazing fast speed and smooth developer experience. Gatsby h
Breaking CSS Custom Properties out of :root Might Be a Good Idea
27.3.2019
CSS Custom Properties have been a hot topic for a while now, with tons of great articles about them, from great primers on how they work to creative tutorials to do some real magic with them. If you’ve read more than one or two articles on the topic, then I’m sure you’ve noticed that they start...
Understanding Event Emitters
26.3.2019
Consider, a DOM Event:
const button = document.querySelector("button");
button.addEventListener("click", (event) => /* do something with the event */)
We added a listener to a button click. We’ve subscribed to an event being emitted and we fire a callback when it does. Every time we click that...
Advanced Tooling for Web Components
22.3.2019
Over the course of the last four articles in this five-part series, we’ve taken a broad look at the technologies that make up the Web Components standards. First, we looked at how to create HTML templates that could be consumed at a later time. Second, we dove into creating our own custom element....
Encapsulating Style and Structure with Shadow DOM
21.3.2019
This is part four of a five-part series discussing the Web Components specifications. In part one, we took a 10,000-foot view of the specifications and what they do. In part two, we set out to build a custom modal dialog and created the HTML template for what would evolve into our very own custom...
Creating a Custom Element from Scratch
20.3.2019
In the last article, we got our hands dirty with Web Components by creating an HTML template that is in the document but not rendered until we need it.
Next up, we’re going to continue our quest to create a custom element version of the dialog component below which currently only uses...
Crafting Reusable HTML Templates
19.3.2019
In our last article, we discussed the Web Components specifications (custom elements, shadow DOM, and HTML templates) at a high-level. In this article, and the three to follow, we will put these technologies to the test and examine them in greater detail and see how we can use them in production...
An Introduction to Web Components
18.3.2019
Front-end development moves at a break-neck pace. This is made evident by the myriad articles, tutorials, and Twitter threads bemoaning the state of what once was a fairly simple tech stack. In this article, I’ll discuss why Web Components are a great tool to deliver high-quality user experiences...
Web Standards Meet User-Land: Using CSS-in-JS to Style Custom Elements
15.3.2019
The popularity of CSS-in-JS has mostly come from the React community, and indeed many CSS-in-JS libraries are React-specific. However, Emotion, the most popular library in terms of npm downloads, is framework agnostic.
Using the shadow DOM is common when creating custom elements, but there’s...
The Ultimate Guide to JavaScript Algorithms: Implementing a Custom Filter
13.3.2019
In JavaScript, the .filter() function is often used to loop through an array and extract the elements that pass a certain condition specified in a callback function.
Ever wonder
Stackbit
12.3.2019
This is not a sponsored post. I requested a beta access for this site called Stackbit a while back, got my invite the other day, and thought it was a darn fine idea that's relevant to us web nerds — particularly those of us who spin up a lot of JAMstack sites.
I'm a big fan of the whole idea...
Extending Google Analytics on CSS-Tricks with Custom Dimensions
11.3.2019
The idea for this article sparked when Chris wrote this in Thank You (2018 Edition):
I almost wish our URLs had years in them because I still don't have a way to scope analytic data to only show me data from content published this year. I can see the most popular stuff from the year, but that's...