The key words
“MUST”, “MUSTNOT”, “REQUIRED”, “SHALL”, “SHALLNOT”,
“SHOULD”, “SHOULDNOT”, “RECOMMENDED”, “MAY”, and
“OPTIONAL” in this document are to be interpret… ↩︎
Depending who you ask,
CSS is either awesome or broken.
CSS is not a programming language, unless it is.
CSS is too simple and entirely too difficult.
CSS is weird – not like other languages,
and not like print design either –
but trapped in a strange middle ground
with unique rules andconstraints.
Don’t let the declarative syntax fool you –
CSS is a powerful and dynamic programming language.
It’s time to start moving style logic
back into the language designed forit.
Firefox 69 was the first to implement selector feature queries,
but other browsers are following suit.
I’ll show you how it works,
and how to start using this new feature query rightaway.
Horizontal text overflow has always been difficult to manage on the web.
The default visible overflow
is designed to make sure content remains accessible
no matter the size of a containing box,
but it’s not our onlyoption.
When we’re scrolling down a page,
or through a gallery of images,
snap-targets can help guide us from one section or image to the next.
In the past, developers have used JavaScript to hijack scrolling,
but now we can manage scroll alignment directly in CSS
with only a few lines ofcode.
The display property has been in CSS from the beginning,
handling everything from block and inline boxes
to list-items and full layout systems like flexbox or grid.
Now the display syntax is getting an upgrade
to match it’s multipleuses.
There are a number of property & value combinations
that can lead to CSS being inactive,
and now Firefox will tell you why.
Open the developer tools,
and look for the greyed-out property with an info-box onhover.
It’s a common pattern to align form labels and inputs in grid-like layout.
I’ll show you how to do it quickly using CSS subgrid,
with several quickfallbacks.
Card layouts are popular on the web,
rows and columns of boxes with similar content.
CSS grids can help align those cards,
but it’s still be hard to line-up content inside the cards –
headers and footers that might need more or lessroom.
Depending who you ask,
CSS is either awesome or broken.
CSS is not a programming language, unless it is.
CSS is too simple and entirely too difficult.
CSS is weird – not like other languages,
and not like print design either –
but trapped in a strange middle ground
with unique rules andconstraints.
For years,
we’ve struggled to build resilient layouts on the web,
but CSS Grid promises to change all that –
and you can start using it now,
with only a few properties and basicconcepts.
I’ve often used initial and unset in my CSS –
global keywords that can be applied to any property.
The difference is small, but important:
unset allows inheritance,
while initial does not.
But then Firefox implemented revert and I was confused –
how is this one different from theothers?!
Sass recently launched a new module system.
The new syntax will replace @import with
@use and @forward –
a big step forward for making Sass partials
more readable, performant, andsafe.
CSS is the design language of the web –
one of three core web languages –
but it also seems to be the most contentious and often perplexing.
It’s too easy and too hard,
too fragile and too resilient.
Love it or hate it, CSS is weird:
not quite markup,
not quite programming in the imperative sense,
and nothing like the design programs we use for print.
How did we gethere?
When you create lists in HTML,
browsers add bullet-points or numbers we call list markers.
Now CSS gives us the tools to style those list markers,
and even create ourown!
Style Guides & Pattern Libraries are great tools
for documenting the relationships between code and design,
but beautiful docs are only half thebattle.
On Episode 18,
the TalkScript team continues the live-ish at JSConfUS podcast series
with guests Myles Borins, Tim Doherty, and Miriam Suzanne. Listenin!
Style Guides & Pattern Libraries are great tools
for documenting the relationships between code and design,
but beautiful docs are only half thebattle.
Inspired by Robin Rendle,
I demonstrate some of my early experiments
combining CSS Grids and custom properties
to create dynamic layouts anddata-visualizations.
Viewport units have been around for several years now,
with near-perfect support in the major browsers,
but I keep finding new and exciting ways to use them.
I thought it would be fun to review the basics,
and then round-up some of my favoriteuse-cases.
It feels like CSS Grid has been coming for a long time now,
but it just now seems to be reaching a point
where folks are talking more and more about it
and that it’s becoming something we shouldlearning.
It’s been a month
since our country pseudo-elected
a bigoted blow-hard for president.
I’m heading to DC to protest his inauguration in January,
visit friends,
and go on a mixed-media resistancetour…
It’s been a month
since our country pseudo-elected
a bigoted blow-hard for president.
I’m heading to DC to protest his inauguration in January,
visit friends,
and go on a mixed-media resistancetour…
No matter what acronym drives your selectors
(BEM, OOCSS, SMACSS, ETC),
loops can help keep your patterns more readable and maintainable,
baking them directly into your code.
We’ll take a look at what loops can do,
and how to use them in the major CSSpreprocessors.
Chris Coyier interviews Miriam
when she joins the CSS Tricks team
as a Staff Writer.
We talk about gettting started in the industry,
name confusion,
fouding OddBird,
building Susy,
andmore.
In this episode of the Versioning Show,
Tim and David are joined by Miriam Suzanne,
best known for Susy, a responsive layout toolkit for Sass.
They discuss going from being a lurker to finding your voice,
the importance of writing about what you’re learning,
stumbling into fame, approaching new projects, and unit testing inSass.
Using Sass, you can write your stylesheets in a more concise,
dynamic, and readable way, and cut down many of
the repetitive tasks that come with writing vanilla CSS.
This book provides a thorough introduction to
Sass for thebeginner.
Design systems must be
meaningful to both humans and machines
Accoutrement provides Sass design-token management
that improves readability and consistency,
while encouragingautomation.
True is a full-featured unit-testing library for Sass.
The core functionality is written in pure SassScript,
so it can be used anywhere Sass is compiled.
Advanced features are available
with our JS test-runnerintegration.
Susy is a lightweight grid-layout engine for Sass,
designed to simplify and clarify responsive grid layouts
without ever getting in your way.
Originally released in 2009,
Susy has become one of the
most popular layout frameworks on theweb.