A Call for Consensus on HTML Semantics
Jan 20, 2024
HTML is supposed to be easy to learn. And sure, the basics are pretty clear, but how are we supposed to make the "right" choice in nuanced situations?
Jan 20, 2024
HTML is supposed to be easy to learn. And sure, the basics are pretty clear, but how are we supposed to make the "right" choice in nuanced situations?
Feb 27, 2023
Supporting both the user preference query for dark mode as well as a toggle previously required duplicated style blocks. With the incoming style queries feature, we can simply down to reading a custom property to define theme styles once.
Feb 25, 2023
With the growth of native CSS features - including nesting - what features do we still gain by using Sass, and what is available to use in its place?
Feb 19, 2023
There's a whole lot to love already about CSS in 2023, but here are just a couple more things I'd still find useful. Plus, a review of long-standing issues that actually have some support or are in-progress.
Dec 30, 2022
A look back at projects, talks, articles, and other 2022 things.
Oct 7, 2022
Learn about four types of tests important for shipping more accessible features and assisting your users in successfully completing tasks.
Mar 14, 2022
Organization, linting, and ease of theming are the primary reasons I'll continue to use Sass despite the capabilities of modern CSS, including the near-future nesting capability. Review how to theme buttons as one example.
Mar 7, 2022
A review of how I began creating developer content and tips to help you get started and find motivation to hit publish on your own projects.
Feb 21, 2022
Learn to leverage the natural behavior of attaching animation via CSS keyframes to reveal new elements.
Feb 19, 2022
Use this command line combination for building a static site that includes Browsersync, processing Sass and running the final files through autoprefixer and cssnano.
You can find me as a writer on Smashing Magazine, CSS-Tricks, ModernCSS, 11ty Rocks, and DEV. Here is a selection of tutorials and articles I'm most proud of, and that have also received appreciation from the wider community.
In this premium SitePoint series, we'll review CSS enhancements to layout, responsive design, element styling, properties, and selectors, and also peek at upcoming features; deep-dive into using the CSS :has() selector for scaling reusable components; discover the practical uses of container queries; and learn how to create responsive CSS layouts without using media queries.
The CSS relational selector :has() allows selecting elements in combinations that were previously impossible without the assistance of JavaScript. Review how to combine :has() with core CSS selectors to extend their capabilities.
Within 2021, a new spec to orchestrate the “C” in CSS was drafted and is now an official candidate recommendation: cascade layers. Learn more about layers and how to use them.
Look at what problem is being solved, learn how container queries work, and see how they compare with and complement existing CSS features for layout.
Learn how to coexist with the unpredictability of the browser by using adaptive, contextual spacing techniques. We'll construct a starter set of custom properties for gap, margin, and padding.
With a bit of creativity using native web functionality and modern CSS, like CSS scroll snap, we’ll be building a no-JavaScript slide deck that allows live editing of CSS demos.
Debugging in CSS means figuring out what might be the problem when you have unexpected layout results. We’ll look at a few categories bugs often fit into, see how we can evaluate the situation, and explore techniques that help prevent these bugs.
This guide will cover CSS Level 4 pseudo-class selectors that currently have the best support along with examples to demonstrate how you can start using them today.
Develop an Eleventy setup that you can use as a starting point for your own community (or personal) site.
Understanding selectors, the cascade, and specificity are critical to developing CSS and modifying existing style rules. This two-part guide about advanced CSS selectors includes practical examples.
Modern CSS gives us a range of properties to achieve custom select styles that have a near-identical initial appearance for single, multiple, and disabled select
elements across the top browsers.
Eleventy includes features that allow exceeding the traditional limits of static. Learn how to leverage these features and think beyond static when using Eleventy.
This reflection post reviews the tech stack used, reveals a few tricks, and provides some techniques for how to rapidly go from idea to launch for small projects.