Search
Solving Sticky Hover States with @media (hover: hover)
18.2.2020
Mezo Istvan does a good job of covering the problem and a solution to it in a blog post on Medium¹.
If you tap on something that has a :hover state but you don't leave the page then, on a mobile device, there is a chance that :hover state "sticks." You'll see this with stuff like jump-links used...
How to Build Vue Components in a WordPress Theme
18.2.2020
The inline-template directive allows us to build rich Vue components as a progressive enhancement over existing WordPress markup.
The post How to Build Vue Components in a WordPress Theme appeared first on CSS-Tricks
Web Component for a Code Block
18.2.2020
We'll get to that, but first, a long-winded introduction.
I'm still not in a confident place knowing a good time to use native web components. The templating isn't particularly robust, so that doesn't draw me in. There is no state management, and I like having standard ways of handling that. If...
A Complete Guide to Data Attributes
18.2.2020
Everything you ever wanted to know about data attributes in HTML, CSS, and JavaScript.
The post A Complete Guide to Data Attributes appeared first on CSS-Tricks
Moving from Vanilla JavaScript to a Reusable Vue Component
17.2.2020
I recently wrote an article explaining how you can create a countdown timer using HTML, CSS and JavaScript. Now, let’s look at how we can make that a reusable component by porting it into Vue using basic features that the framework provides.
Why do this...
Blame the implementation, not the technique
17.2.2020
I'm not sure we've gotten much better at this since Tim Kadlec wrote this in 2012:
Stop me if you’ve heard this one before.
“Responsive design is bad for performance.”“User agent detection is bad. Don’t segment the web.”“Hybrid apps don’t work as well as native apps.”“CSS preprocessors shouldn’t...
Listen to your web pages
16.2.2020
A clever idea from Tom Hicks combining MutationObserver (which can "observe" changes to elements like when their attributes, text, or children change) and the Web Audio API for creating sounds. Plop this code into the console on a page where you'd like to listen to essentially any DOM change...
“CSS4” Update
16.2.2020
Since I first chimed in on the CSS4¹ thing, there's been tons of more discussion on it. I'm going to round up my favorite thoughts from others here. There is an overwhelming amount of talk about this, so I'm going to distill it here down as far as I can, hopefully making it easier to follow.
Jen...
Creating a Details Element That Opens But Never Closes
15.2.2020
The <details> and <summary> elements in HTML are useful for making content toggles for bits of text. By default, you see the <summary> element with a toggle triangle (▶︎) next to it. Click that to expand the rest of the text inside the <details> element.
But...
While You Weren’t Looking, CSS Gradients Got Better
14.2.2020
One thing that caught my eye on the list of features for Lea Verou's conic-gradient() polyfill was the last item:
Supports double position syntax (two positions for the same color stop, as a shortcut for two consecutive color stops with the same color)
Surprisingly, I recently discovered most...
A Complete Guide to Links and Buttons
14.2.2020
Our complete guide to links, buttons, and button-like inputs in HTML, CSS, and JavaScript.
The post A Complete Guide to Links and Buttons appeared first on CSS-Tricks
Why JavaScript is Eating HTML
13.2.2020
Web development is always changing. One trend in particular has become very popular lately, and it fundamentally goes against the conventional wisdom about how a web page should be made. It is exciting for some but frustrating for others, and the reasons for both are difficult to explain.
A...
The Unseen Performance Costs of Modern CSS-in-JS Libraries
13.2.2020
This article is full of a bunch of data from Aggelos Arvanitakis. But lemme just focus on his final bit of advice:
Investigate whether a zero-runtime CSS-in-JS library can work for your project. Sometimes we tend to prefer writing CSS in JS for the DX (developer experience) it offers, without...
A Headless CMS for You and Your Web Development Agency
13.2.2020
(This is a sponsored post.)
Storyblok is a headless but component-based CMS with a built-in live-preview. You can use it for building fast and reliable websites and power native apps with your favorite technology.
Let us start with the basics and what a headless CMS is:
A headless content...
2020 Stack
13.2.2020
In an article with the most clickbaity article ever, Joe Honton does a nice job of talking about the evolving landscape of web development. "Full-stack" perhaps had its day as a useful term, but since front-end development touches so many parts of the stack now, it's not a particularly useful term....
Toward Responsive Elements
12.2.2020
Hot news from Brian Kardell, regarding what we've been referring to as "container queries", the most hotly requested feature in CSS:
There does seem to be some general agreement on at least one part of what I am going to call instead "Responsive Design for Components" and that is that flipping...
Building an Images Gallery using PixiJS and WebGL
12.2.2020
Sometimes, we have to go a little further than HTML, CSS and JavaScript to create the UI we need, and instead use other resources, like SVG, WebGL, canvas and others.
For example, the most amazing effects can be created with WebGL, because...
Neumorphism.io
12.2.2020
I was sort of making fun of neumorphism the other day. I don't actually care that much. I mostly just think it only works on some flat colored backgrounds, mostly really light colors, and somehow that feels weirdly limiting. (nope, sure, sure, nope 🤷‍♂️).
Anyway,...
The Hooks of React Router
12.2.2020
React Router 5 embraces the power of hooks and has introduced four different hooks to help with routing. You will find this article useful if you are looking for a quick primer on the new patterns of React Router. But before we look at hooks, we will start off with a new route rendering...
How to Fetch and Parse RSS Feeds in JavaScript
11.2.2020
Say you have an RSS feed like this one. The goal is to request that RSS feed, parse it, and do something useful with the data in it. RSS is XML, and XML is arguably not as easy to work with than JSON. While a lot of APIs offer JSON responses, it's less typical for RSS, although it does exist.
Let's...