Daily Shaarli

All links of one day in a single page.

December 11, 2025

ONCE — Introducing ONCE

A brand backed by 37Signals.

Minimal and efficient products: Campfire to chat and Writebook to publish books online. Free of use.

37signals Dev — Modern CSS patterns in Campfire

Colors:

how do we decide where to use custom properties? There are really two cases:
1) whenever we need to use the same value in more than one place (DRY)
2) when we know a value is going to be changed.

Custom Properties:

I already use the css variables methods. They are great. Note we can inline them and avoid a verbose default: var(--btn-color, var(--color-text))

You can think of :has() as a way to query an element about what’s inside it.

This makes our button class very flexible. You can throw about any combination of things inside it, and it will adjust accordingly. Text only, image and text, image only, inputs (like radio buttons), or multiple images with text.

The post of 37signals takes also the sidebar into account. The trigger button can be pure CSS even if the icon in it changes. :has() allow to verify if a button inside an element is disabled too.

Responsive design:

They use one @media breakpoint (max-width: 100ch) for a two column layout.

Using characters as the unit of measure ensures that we get the right behavior no matter which device you’re using and in a number of other scenarios such as multitasking on iPad or even if you simply enlarge the font size past a certain point. Type is the heart of web pages so it makes sense for the layout to respond to it.

Feature enhancements such as hover or touch effects with media queries: @media (any-hover: hover) in combination with (pointer: fine) or (pointer: coarse)

Great stuff and kudos to them 👏

ONCE — Campfire

A free open-source chat platform

Everyone on Support – Signal v. Noise

Everyone can exchange with customers. It leads to better product.

37signals

A Menu. 37 Items that redirects to other small and text only pages. That's great :)

Jason Zimdars

One behind 37signals. They are currently doing great stuff with CSS.

content-visibility - CSS | MDN

with currently 90% support, this feature can render or hide the content (without taking space in the layout). Note the auto value can optimize the rendering

In comparison with the display: none trick, developers don't need to specify the layout display: flex | grid | block anymore.