Style Stage

A modern CSS showcase styled by community contributions

Maintained by Stephanie Eckles of ModernCSS.dev

Star on Github

Setting the Stage

In 2003, Dave Shea began a legendary project called CSS Zen Garden that provided a demonstration of "what can be accomplished through CSS-based design" until submissions stopped in 2013.

Style Stage seeks to rekindle that spirit by providing this page as the base HTML for contributors - like you! - to re-style by submitting an alternate stylesheet.

How it works: Visit the "All Styles" directory page and select a style to view. A page with identical content to this one will be presented with a new design provided from a contributed stylesheet. CSS practitioners of any skill level are invited to submit a stylesheet!

The HTML for this page was created to be semantic, accessible, and free of nearly all other opinions. Nested sectioning elements with the class `.container` serve as additional style aids since you do not have access to alter the base HTML. IDs are included where needed for nav anchors or accessibility, and a small number of additional classes are provided for key elements without IDs. Don't forget the `.skip-link`!

Modern CSS Under the Spotlight

Modern CSS has increased and improved the available CSS properties and layout behaviors, and browser support is nearly in sync for most high-touch features.

Some examples of modern CSS include:

  • Flexbox
  • Grid
  • custom variables
  • @supports()
  • gradients
  • animation
  • 3D transforms
  • object-fit
  • :focus-within
  • calc()
  • min() / max() / clamp()
  • viewport units
  • scroll-(margin/padding/snap)
  • position: sticky
  • two-value display
  • expanded media query values
  • variable fonts

We also collectively have an improved understanding of what it takes to make accessible experiences.

Join Style Stage as a contributor to refresh your CSS skills, and learn from others!

Guidelines

Contributing a stylesheet to Style Stage means you agree to abide by our full guidelines.

TL;DR

All submissions will be autoprefixed and prepended with the CC BY-NC-SA license as well as attribution using the metadata you provide. You may use any build setup you prefer, but the final submission should be the compiled, unminified CSS. You retain the copyright to original graphics and must ensure all graphics used are appropriately licensed. All asset links, including fonts, must be absolute to external resources. Stylesheets will be saved into the Github repo, and detected changes that violate the guidelines are cause for removal.

Ensure your design is responsive, and that it passes accessible contrast (we'll be using aXe to verify). Animations should be removed via `prefers-reduced-motion`. Cutting-edge techniques should come with a fallback if needed to not severely impact the user experience. No content may be permanently hidden, and hidden items must come with an accessible viewing technique. Page load time should not exceed 3 seconds.

Most importantly - have fun and learn something new! Check out the resources for tips and inspiration.

Review full guidelines

Contribute

All who enjoy the craft of writing CSS are welcome to contribute!

By participating as a contributor, your work will be shared with your provided attribution as long as Style Stage is online, your stylesheet link and any asset links remain valid, and all contributor guidelines are adhered to.

Steps to Contribute

  1. Download the source files listed below to use as a reference to build your stylesheet, or start from the Sass template.
  2. Host your completed stylesheet at a public URL, and ensure all asset links are absolute URLs to external resources.
  3. Create a pull request to add your information as a unique .json file to: src/_data/styles. The schema is detailed in the repo README, and you can review the FAQ on creating a pull request.
  4. If your contribution abides by the previously listed guidelines, your submission will be added!