Polishing your typography with line height units

Polishing your typography with line height units

Learn how to use line-height units when setting paragraph margins — creating vertical rhythm in your text.

Read more

The CSS shape() function

The CSS shape() function

Shapes are an important aspect of graphic design.

Read more

Better typography with text-wrap pretty

Better typography with text-wrap pretty

Support for text-wrap: pretty just shipped in Safari Technology Preview, bringing an unprecedented level of polish to typography on the web.

Read more

Item Flow, Part 1:
A new unified concept for layout

Item Flow, Part 1:
A new unified concept for layout

CSS Grid and Flexbox brought incredible layout tools to the web, but they don’t yet do everything a designer might want.

Read more

Make creative borders with background-clip border-area

Make creative borders with background-clip border-area

How’d you like to use CSS to easily create a border from an image or gradient?

Read more

Help us choose the final syntax for Masonry in CSS

Help us choose the final syntax for Masonry in CSS

Back in April 2024, we wrote about “Masonry” layout in CSS and the ongoing work to bring this feature to browsers.

Read more

Help us invent CSS Grid Level 3, aka “Masonry” layout

Help us invent CSS Grid Level 3, aka “Masonry” layout

UPDATE October 2024: Since this article was published, members of the CSS Working Group have concluded that all of the grid abilities described here — variable-width tracks, explicit placement, spanning, and subgrids — are worth including in masonry layout, and are possible to implement performantly.

Read more

Implementing Vertical Form Controls

Implementing Vertical Form Controls

Safari 17.4 adds vertical writing mode support for form control elements across macOS, iOS, iPadOS, and visionOS.

Read more

CSS Nesting and the Cascade

CSS Nesting and the Cascade

You might have noticed that Safari Technology Preview 179 includes an update to CSS Nesting that adds support for the new “relaxed parsing behavior”.

Read more

Try out CSS Nesting today

Try out CSS Nesting today

Back in December, we wrote an article detailing three different options for CSS Nesting.

Read more

Help choose the syntax for CSS Nesting

Help choose the syntax for CSS Nesting

The CSS Working Group is continuing a debate over the best way to define nesting in CSS.

Read more

Using :has() as a CSS Parent Selector and much more

Using :has() as a CSS Parent Selector and much more

It’s been a long-standing dream of front-end developers to have a way to apply CSS to an element based on what’s happening inside that element.

Read more