A blog about web development, HTML, CSS, JavaScript, and web accessibility.

Day 9: the inset shorthand property

The inset property is a shorthand for the top, right, bottom, and/or left properties. It implements the same multi-value syntax like margin.

Day 8: nesting :has()

The :has() pseudo-class cannot be nested; :has() is not valid within :has().

Day 7: subgrids

Subgrid allows a grid-item with its own grid to align with its parent grid (currently only in Firefox 71+ and Safari 16+).

Day 6: the :has() pseudo-class

:has() allows you to check whether a parent element contains specific children.

Day 5: the max() function

The max() function takes a comma separated list of expressions. The largest value in the list will be selected.

Day 4: the min() function

The min() function takes a comma separated list of expressions. The smallest value in the list will be selected.

Day 3: logical property shorthands

If you use a shorthand property like margin with all 4 values, the properties will always be applied in the direction top - right - bottom - left, no matter the reading direction.

Day 2: logical properties

Logical properties are a new way of working with directions and dimensions, one that allows you to control layout through logical, rather than physical mappings. This is especially useful, if you’re dealing with websites that are presented in different languages and writing modes, like right-to-left.

Day 1: custom properties and fallbacks

You can pass a second value to the var() CSS function which acts as a fallback for when the property has not been set.

100 Days Of More Or Less Modern CSS

It’s time to get me up to speed with modern CSS. There’s so much new in CSS that I know too little about. To change that I’ve started #100DaysOfMoreOrLessModernCSS. Why more or less modern CSS? Because some topics will be about cutting-edge features, while other stuff has been around for quite a while already, but I just have little to no experience with it.