Future Style: Extending, Scoping, and "Programming" CSS


CSS looks ever so slightly more like a programming language with each passing day. Variables, extensions, and scope are among the most exciting and potentially impactful changes being floated around the standard. Other proposals such as custom selectors, properties, and even at-rules contribute to a larger debate surrounding the place of CSS in our development docket. Can we still call CSS a strictly presentational style language? Will it soon be time to reexamine the future of style as an evolved form of presentational programming? Is writing CSS, rather than its optimization, at last becoming an integral part of front-end engineering?

This session will address these questions as part of a focused discussion on areas of CSS that have seen the most intriguing new ideas. First and foremost, we'll tackle familiar and somewhat unfamiliar aspects of the new CSS, namely layout and a plethora of new pseudo-classes, combinators, and selectors at our disposal. But we'll quickly move away to engage the debate on where CSS is headed by focusing on CSS variables and extensions, which reflect the widening adoption of key elements from preprocessors. Finally, we will explore custom CSS, CSS scoping, and style's role in the context of the Shadow DOM before considering the future of CSS in Drupal.

Here's what we'll cover:

  • A brief look back: CSS as a style language
  • Selectors, combinators, and pseudo-classes
  • Flexbox, Grid, and other layout
  • CSS backgrounds and borders
  • CSS preprocessing and CSS as "programming"
  • CSS variables and extensions
  • Custom properties, etc.
  • CSS scoping and the Shadow DOM
  • General implications for Drupal
  • ... and much more

This session is geared toward front-end developers and anyone interested in the future of front-end development. It assumes advanced-level familiarity with CSS.


Session Track

Front End

Experience Level


Drupal Version