[awesome-link]: https://github.com/sindresorhus/awesome [awesome-badge]: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg [travis-link]: https://travis-ci.org/awesome-css-group/awesome-css [travis-badge]: https://travis-ci.org/awesome-css-group/awesome-css.svg?branch=master # Awesome CSS [![Awesome][awesome-badge]][awesome-link] [![Travis Build Status][travis-badge]][travis-link] > /* A curated list of awesome frameworks, style guides, and other cool nuggets for writing amazing CSS. */ ## Introduction ### Motivation This document is a curated list of frameworks, style guides, and cool nuggets of information for writing awesome CSS. It does not contain resources to learn CSS. ### Complementary Resources If you're struggling with something CSS-related, look for answers within the following resources: - [CSS - MDN - Mozilla](https://developer.mozilla.org/en-US/docs/Web/CSS) - [Reddit (CSS)](https://www.reddit.com/r/css/) - [StackOverflow (CSS)](https://stackoverflow.com/questions/tagged/css)
## Table of Contents - [CSS Working Group](#css-working-group) - [Editor's Draft :black_nib:](#editors-draft-black_nib) - [Parsers :mag:](#parsers-mag) - [Preprocessors :pill:](#preprocessors-pill) - [Frameworks :art:](#frameworks-art) - [Toolkits :wrench:](#toolkits-wrench) - [Reset and Normalize](#reset-and-normalize) - [CSS Development at Large-Scale Websites](#css-development-at-large-scale-websites) - [Code Style Guidelines :book:](#code-style-guidelines-book) - [Style Guide](#style-guide) - [Style Guide Generators :slot_machine:](#style-guide-generators-slot_machine) - [Naming conventions & Methodologies :bulb:](#naming-conventions--methodologies-bulb) - [CSS in JS](#css-in-js) - [CSS Polyfills](#css-polyfills) - [Miscellaneous](#miscellaneous) - [Podcasts :radio:](#podcasts-radio) - [Twitter :satellite:](#twitter-satellite) - [Videos :tv:](#videos-tv) - [2019](#2019) - [2016](#2016) - [2015](#2015) - [Books :books:](#books-books) - [Tutorials :clapper:](#tutorials-clapper) - [Maintainers](#maintainers) - [Contribute](#contribute) ## CSS Working Group The CSS Working Group creates and defines CSS specifications. These specifications are assigned [maturity levels](https://www.w3.org/2005/10/Process-20051014/tr#maturity-levels) as they move through the design process. If you would like to learn more, visit [CSS Working Group Page](https://www.w3.org/Style/CSS/). ### Editor's Draft :black_nib: *Editor's drafts of CSS specifications* - [W3c/csswg-drafts](https://github.com/w3c/csswg-drafts) - Mirror of CSS WG Editor Draft repository. - [W3c/css-houdini-drafts](https://github.com/w3c/css-houdini-drafts) - Mirror of Houdini WG Editor repository. ## Parsers :mag: * [CSSOM](https://github.com/NV/CSSOM) - CSS Object Model implemented in pure JavaScript. * [CSSTree](https://github.com/csstree/csstree) - Detailed CSS parser with syntax validator. * [Gonzales PE](https://github.com/tonyganch/gonzales-pe) - CSS parser with support for preprocessors. * [Mensch](https://github.com/brettstimmerman/mensch) - A decent CSS parser. * [ParserLib](https://github.com/CSSLint/parser-lib) - CSSLint/parser-lib. * [PostCSS](https://github.com/postcss/postcss) - Transforming styles with JS plugins. * [Rework](https://github.com/reworkcss/rework) - Plugin framework for CSS preprocessing in Node.js. * [Stylecow](https://github.com/stylecow/stylecow) - Modern CSS for all browsers. [⇧ back to top](#contents) ## Preprocessors :pill: *Write CSS faster* * [LESS](https://github.com/less/less.js) - Backwards compatible with CSS, and the extra features it adds use existing CSS syntax. * [PostCSS](https://github.com/postcss/postcss) - Transforming CSS with JS plugins. * [Sass](https://github.com/sass/sass) - Mature, stable, and powerful professional-grade CSS extension language. * [STYLIS](https://github.com/thysultan/stylis.js) - Light-weight CSS preprocessor. * [Stylus](http://learnboost.github.io/stylus/) - Expressive, robust, feature-rich CSS language built for NodeJs. * [Vanilla Extract](https://vanilla-extract.style/) - Generate static CSS using Typescript. Write type‑safe, locally scoped classes, variables and themes. [⇧ back to top](#contents) ## Frameworks :art: * [AgnosticUI](https://www.agnosticui.com/) - Accessible CSS component primitives that also work with React, Vue 3, Svelte, and Angular. * [Bonsai](https://www.bonsaicss.com/) - A complete Utility First CSS Framework for less than 50kb. * [Bootstrap](https://getbootstrap.com/) - The most popular HTML, CSS, and JS framework. * [Bulma](http://bulma.io/) - A modern CSS framework based on Flexbox. Also has Sass import for modification. * [Butter Cake](http://getbuttercake.com/) - A Modern Lightweight Front End CSS framework for faster and easier web development. * [Charts.css](https://chartscss.org/) - CSS data visualization framework. * [Chota](https://jenil.github.io/chota/) - A responsive, customizable micro-framework (3kb) with helpful utilities and a grid system. * [Cirrus](https://spiderpig86.github.io/Cirrus/) - A fully responsive and comprehensive CSS framework with beautiful controls and simplistic structure. * [Foundation](http://foundation.zurb.com/) - advanced responsive front-end framework. * [Gralig](http://gralig.com/) - A modest, grayish CSS library. * [Halfmoon](https://www.gethalfmoon.com/) - A responsive front-end framework with a built-in dark mode. * [Hasser CSS](https://github.com/HeavenMercy/HasserCSS) - A lightweight (12k, not minified) but useful CSS framework with flexible Grid, Hero and more. * [Inuit.css](http://inuitcss.com/) - Powerful, scalable, Sass-based, BEM, OOCSS framework. * [Material-components-web](https://github.com/material-components/material-components-web) - Modular and customizable Material Design UI components for the web. * [Materialize](http://materializecss.com/) - A modern responsive front-end framework based on Material Design. * [Milligram](http://milligram.io) - A minimalist CSS framework. * [Numl](https://numl.design) - An HTML-based language and design system that lets you create responsive and accessible high-quality web interfaces with any look. * [Pure.css](http://purecss.io/) - A set of small, responsive CSS modules that you can use in every web project. * [Semantic UI](http://semantic-ui.com/) - Powerful framework that uses human-friendly HTML. * [Shorthand Framework](https://github.com/shorthandcss/shorthand) - Feature rich CSS framework for the new decade. * [Spectre.css](https://picturepan2.github.io/spectre/index.html) - A lightweight, responsive and modern CSS framework. * [Strawberry](https://github.com/jfet97/strawberry) - A set of common flexbox utilities focused on making your life easier and faster with nested flexboxes. * [Tachyons](http://tachyons.io/) - Functional CSS for humans. * [Tacit](https://yegor256.github.io/tacit/) - CSS framework for dummies with zero skills in graphic design. * [Tailwindcss](https://github.com/tailwindcss/tailwindcss) - A utility-first CSS framework for rapid UI development. * [Tronic247 Material](https://material.pages.dev/) - A responsive framework based on CSS and some JS while following Material Design guidelines. * [UIkit](http://getuikit.com/) - A lightweight and modular front-end framework. * [Unsemantic](http://unsemantic.com/) - Fluid grid for mobile, tablet, and desktop. * [Wing](https://kbrsh.github.io/wing/) - A Minimal, Lightweight, Responsive framework. _[You can find more frameworks at "awesome-css-frameworks"](https://github.com/troxler/awesome-css-frameworks)_ [⇧ back to top](#contents) ## Toolkits :wrench: * [Bourbon](http://bourbon.io/) - A simple and lightweight mixin library for Sass. [⇧ back to top](#contents) ## Reset and Normalize - [CSS Checker](https://github.com/ruilisi/css-checker) - Find and Reduce Similar & Duplicated CSS Scripts. - [MiniReset.css](https://github.com/jgthms/minireset.css) - A tiny modern CSS reset. - [Normalize-OpenType](https://github.com/kennethormandy/normalize-opentype.css) - Adds OpenType features—ligatures, kerning, and more—to Normalize.css. - [Normalize](https://github.com/necolas/normalize.css) - A set of CSS rules that provide better cross-browser consistency in the default styling of HTML elements. - [Reset.css](https://meyerweb.com/eric/tools/css/reset/) - CSS Tools: Reset CSS. - [Reseter.css](https://github.com/krishdevdb/reseter.css) - A Futuristic CSS Reset/Normalizer. That Redifines Instead Of Preserving. - [Sanitize.css](https://github.com/jonathantneal/sanitize.css/) - A set of CSS rules that style with today’s best practices out-of-the-box. - [Unstyle.css](https://github.com/Martin-Pitt/css-unstyle) - Specialised stylesheet for removing user agent styles, style the web with your baseline. [⇧ back to top](#contents) ## CSS Development at Large-Scale Websites * [Bugsnag's CSS Architecture](http://blog.bugsnag.com/bugsnags-css-architecture) by [Max Luster](https://twitter.com/maxluster) * [CSS at BBC Sport](https://medium.com/@shaunbent/css-at-bbc-sport-part-1-bab546184e66) by Shaun Bent * [CSS AT HOOTSUITE](http://code.hootsuite.com/css-at-hootsuite/) by Steve Mynett * [GitHub's CSS](http://markdotto.com/2014/07/23/githubs-css/) by [Mark Otto](https://twitter.com/mdo) * [How we do CSS at Ghost](https://dev.ghost.org/css-at-ghost/) by Paul Davis * [Lonely Planet](http://ianfeather.co.uk/css-at-lonely-planet/) by [Ian Feather](https://twitter.com/ianfeather) * [Medium’s CSS is actually pretty good.](https://medium.com/@fat/mediums-css-is-actually-pretty-fucking-good-b8e2a6c78b06) by [Jacob Thornton](https://twitter.com/fat) * [Refining The Way We Structure Our CSS At Trello](http://blog.trello.com/refining-the-way-we-structure-our-css-at-trello/) by [Bobby Grace](https://twitter.com/bobbygrace) * [Scalable-css-reading-list](https://github.com/davidtheclark/scalable-css-reading-list) [⇧ back to top](#contents) ## Code Style Guidelines :book: * [Code Guide](http://codeguide.co/) by [Mark Otto](https://twitter.com/mdo) * [CSS Guidelines](http://cssguidelin.es/) by [Harry Roberts](https://twitter.com/csswizardry) * [CSS Styleguide](https://github.com/grvcoelho/css) by [Guilherme Rv Coelho](https://github.com/grvcoelho) * [Dropbox (S)CSS Style Guide](https://github.com/dropbox/css-style-guide) by Dropbox * [Google HTML/CSS Style Guide](https://google.github.io/styleguide/htmlcssguide.html) by Google * [Idiomatic CSS](https://github.com/necolas/idiomatic-css) by [Nicolas Gallagher](https://twitter.com/necolas) * [Official Trello CSS Guide](https://gist.github.com/bobbygrace/9e961e8982f42eb91b80) by Bobby Grace * [Sass Guidelines](https://sass-guidelin.es/) by [Kitty Giraudel](https://twitter.com/KittyGiraudel) * [SASS Style Guide](http://sass-lang.com/styleguide) by Sass team * [ThinkUp CSS Style Guide](https://github.com/ThinkUpLLC/ThinkUp/wiki/Code-Style-Guide:-CSS) by ThinkUp * [WordPress CSS Coding Standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/css/) by WorldPress [⇧ back to top](#contents) ## Style Guide * [AUI](http://docs.atlassian.com/aui/latest/docs) by Atlassian Design * [Design Elements](http://rizzo.lonelyplanet.com/styleguide/design-elements/colours) by lonely planet * [Fluent UI](https://github.com/microsoft/fluentui) by Microsoft * [GitHub CSS Style Guide](https://primer.github.io/) by Github * [Lighting Design System](https://www.lightningdesignsystem.com/) by Salesforce * [Patterns](https://ux.mailchimp.com/patterns) by MailChimp * [Solid](http://solid.buzzfeed.com/) by BuzzFeed * [Style Guide](https://www.starbucks.com/static/reference/styleguide/) by Starbucks * [Website Style Guide Resources](http://styleguides.io/examples.html) by Awesome people View more style guides at [Website Style Guide Resources](http://styleguides.io/) [⇧ back to top](#contents) ## Style Guide Generators :slot_machine: - [Hologram](https://github.com/trulia/hologram) - [mdcss](https://github.com/jonathantneal/mdcss) - [Source](https://github.com/sourcejs/Source) - [Styledoc](https://github.com/Joony/styledoc/) - [Styledocco](https://github.com/jacobrask/styledocco) - [Styledown](https://github.com/styledown/styledown) - [Sc5-styleguide](https://github.com/SC5/sc5-styleguide) [⇧ back to top](#contents) ## Naming conventions & Methodologies :bulb: * [Atomic Design](http://patternlab.io/resources.html) * [Atomic OOBEMITSCSS](https://www.sitepoint.com/atomic-oobemitscss/) * [BEM](https://en.bem.info/) * [ITCSS](http://itcss.io/) * [Kickoff CSS](http://trykickoff.com/learn/css.html#namingscheme) * [MaintainableCSS](http://maintainablecss.com) * [NCSS](https://ncss.io) * [OOCSS](https://www.smashingmagazine.com/2011/12/an-introduction-to-object-oriented-css-oocss/) * [Point North](http://pointnorth.io/#base-browser-styling) * [RSCSS](https://rscss.io/) * [SUIT CSS](https://github.com/suitcss/suit/blob/master/doc/naming-conventions.md#u-utilityname) * [Title CSS](https://www.sitepoint.com/title-css-simple-approach-css-class-naming/) [⇧ back to top](#contents) ## CSS in JS * [Aphrodite](https://github.com/Khan/aphrodite) * [Babel-plugin-css-in-js](https://github.com/martinandert/babel-plugin-css-in-js) * [Classy](https://github.com/inturn/classy) * [Csjs](https://github.com/rtsao/csjs) * [Css-loader](https://github.com/webpack/css-loader) * [JSS](https://github.com/cssinjs/jss) * [React-styled](https://github.com/bloodyowl/react-styled) * [React-with-styles](https://github.com/airbnb/react-with-styles) * [Styled-jsx](https://github.com/zeit/styled-jsx) * [Styled-components](https://github.com/styled-components/styled-components) * [Stylin](https://github.com/sultan99/stylin) Here is a [CSS in JS techniques comparison](https://github.com/MicheleBertoli/css-in-js) [⇧ back to top](#contents) ## CSS Polyfills * [Polyfill.js](https://github.com/philipwalton/polyfill/) - A library to make creating CSS polyfills much easier. * [Prefixfree](https://github.com/LeaVerou/prefixfree) - Break free from CSS prefix hell. * [Fixed-sticky](https://github.com/filamentgroup/fixed-sticky) - A CSS position:sticky polyfill. * [Selectivizr](https://github.com/keithclark/selectivizr) - A JavaScript utility that emulates CSS3 pseudo-classes and attribute selectors in Internet Explorer 6-8. * [PIE](https://github.com/lojjic/PIE) - Allows Internet Explorer to recognize and render various CSS3 box decoration properties. [⇧ back to top](#contents) ## Miscellaneous * [Beautiful CSS box-shadow examples](https://getcssscan.com/css-box-shadow-examples) - Curated collection of 93 beautiful CSS box-shadow. Click to copy. * [Can I use](https://caniuse.com/) - Browser support for CSS, HTML5 and other front-end web technologies. * [Flexbox Patterns](https://flexboxpatterns.com/) by cjcenizal * [Glassmorphism CSS Generator](https://ui.glass/generator/) - Generate CSS for glassmorphism. * [GradientArt](https://gra.dient.art/) - An advanced CSS gradient editor with layering, design tools and free cloud storage. * [Live editor for CSS and LESS](https://github.com/webextensions/live-css-editor) - Magic CSS extension for Chrome, Firefox and Edge. * [RevengeCSS](https://github.com/Heydon/REVENGE.CSS) - A CSS bookmarklet that uses selectors to find bad markup, displaying ugly pink error messages in comic sans serif wherever you write bad HTML * [Single Div Project](https://github.com/ManrajGrover/SingleDivProject) - One `