Search
Under-Engineered Toggles
10.4.2019
Toggles. Switches. Whatever you want to call them, they've been with us for some time and have been a dominant a staple for many form interfaces. They're even baked right into many CSS frameworks, including Bootstrap and Foundation.
It's easy to think of them in binary terms: on and off. Off...
Testing for Visual Regressions with Percy
8.4.2019
It’s a Herculean task to test
Community Coding For The Web
8.4.2019
Open source barriers
Right now, it's too hard to contribute to open source.
This leads to a few things that are bad:
People who have good ideas don't co
Revisiting the Rendering Tier
5.4.2019
Have you ever created a well-intentioned, thoughtful design system only to watch it grow into an ever-increasing and scary codebase? I've been working in sort of the opposite direction, inheriting the scary codebase and trying to create a thoughtful system from it.
Here's Alex Sanders on the topic...
Decaying Sites
4.4.2019
Websites have a tendency to decay all by themselves. Link rot, they call it. Unpaid domain name registrations. Companies that have gone out of business. Site owners that have lost interest. What's sadder than a 404? Landing on a holding page of a URL that used to exist, but now has fallen into...
Form Validation in Under an Hour with Vuelidate
2.4.2019
Form validation has a reputation for being tricky to implement. In this tutorial, we’ll break things down to alleviate some of that pain. Creating nice abstractions for forms is something that Vue.js excels at and Vuelidate is personally my favorite option for validations because it doesn't require...
CSS Houdini Could Change the Way We Write and Manage CSS
28.3.2019
CSS Houdini may be the most exciting development in CSS. Houdini is comprised of a number of separate APIs, each shipping to browsers separately, and some that have already shipped (here's the browser support). The Paint API is one of them. I’m very excited about it and recently started to think...
Jetpack Gutenberg Blocks
28.3.2019
I remember when Gutenberg was released into core, because I was at WordCamp US that day. A number of months have gone by now, so I imagine more and more of us on WordPress sites have dipped our toes into it. I just wrote about our first foray here on CSS-Tricks and using Gutenberg to power...
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...
TheWestTour: Ice, Products, and 2G
26.3.2019
“Do people speak English in Africa?”, “Do high school students have access to smartphones and computers?” These series of challenging questions made me know I was amongst the right crowd and the lo
The Biggest Barrier to Building in DeFi
25.3.2019
DeFi services have the potential to make managing finances easier than ever before: We’ve entered the era of programmable financial instruments. DeFi promises us complete control over our funds, stronger security infrastructure, seamless payment functionality, and investment options previously only...
Set Commit Author with git or hg
24.3.2019
Knowing who authored a code patch is a sacred and important practice in the world of software engineering. Knowing the author gives the reviewer an idea of trust level, know who to ask questions about the patch, and gives credit to the genius of an important fix. There have been times when...
How blockchain will disrupt the communication industry
22.3.2019
From the CMC editorial desk: One of the things we’ve always wanted to explore is what mass adoption of blockchain technology looks like. Here we have some examples of how it will change the face of the communication industry in […]
The post How blockchain will disrupt the communication...
Adding Search to Your Site with JavaScript
20.3.2019
Static website generators like Gatsby and Jekyll are popular because they allow the creation of complex, templated pages that can be hosted anywhere. But the awesome simplicity of website generators is also limiting. Search is particularly hard. How do you allow users to search when you have...
Using Local with Flywheel
19.3.2019
Have you seen Local by Flywheel? It's a native app for helping set up local WordPress developer environments. I absolutely love it and use it to do all my local WordPress development work. It brings a lovingly designed GUI to highly technical tasks in a way that I think works very well. Plus...
I Don’t Hate Arrow Functions
19.3.2019
TL;DR Arrow functions are fine for certain usages, but they have so many variations that they need to be carefully controlled to not break down the readability of the code. While arrow functions clearly have a ubiquitous community consensus (though not unanimous support!), it turns...
Creating a Python Class Generator for VS Code
19.3.2019
My motto...when you have a problem, do something about. I hated stubbing out Python classes so I created an extension in Visual Studio Code to do it for me. In this article, let's walk through how
Design Systems and Portfolios
15.3.2019
In my experience working with design systems, I’ve found that I have to sacrifice my portfolio to do it well. Unlike a lot of other design work where it’s relatively easy to present Dribbble-worthy interfaces and designs, I fear that systems are quite a bit trickier than that.
You could make things...
The Process of Implementing A UI Design From Scratch
13.3.2019
This is a fantastic post by Ahmad Shadeed. It digs into the practical construction of a header on a website — the kind of work that many of us regularly do. It looks like it's going to be fairly easy to create the header at first, but it starts to get complicated as considerations for screen...
Designing An Aspect Ratio Unit For CSS
13.3.2019
Rachel Andrew says that the CSS Working Group designed an aspect ration unit at a recent meeting. The idea is to find an elegant solution to those times when we want the height of an element to be calculated in response to the width of the element, or vice versa.
Say, for example, we have a grid...