Skip to content
anybladesPublic

About

Fully compatible and actively maintained successor to Pico CSS. Introduces float labels, breakout container and other modern, opt-out helpers. Simply switch `pico.css` to `blades.css` OR use `blades.standalone.css` with other frameworks πŸ₯·βœ¨

Topics

Resources

Code of conduct

Stars

367 stars

Watchers

7 watching

Forks

Repository files navigation

πŸ₯· Blades Β 

Minimal CSS Framework for Semantic HTML

Fully compatible and actively maintained successor to Pico CSS.

Introduces float labels, breakout container and other modern, opt-out helpers. Simply switch pico.css to blades.css OR use blades.standalone.css with other frameworks.

Get started ✨ | Standalone

Quick start

There are 4 ways to get started:

A. Install manually

Download CSS archive and link css/blades.css in the <head> of your website.

<link rel="stylesheet" href="css/blades.css" />

B. Usage from CDN

<link rel="stylesheet" href="
  https://cdn.jsdelivr.net/npm/@anyblades/blades@3/css/blades.min.css
"/>

Live example: https://github.com/pallets/website/blob/main/src/pallets/templates/layout.html

Full list of CSS files available on CDN: https://cdn.jsdelivr.net/npm/@anyblades/blades@3/css/

pico.layered.min.css is Pico wrapped in @layer pico { }, so any unlayered styles of yours win over it without specificity fights. Note that inside a layer Pico's own !important declarations (form validation, reduced motion) beat your unlayered !important, and your @keyframes of the same name as Pico's win regardless of load order. When you can use @import, @import url("…/pico.min.css") layer(pico); does the same without this file.

C. Install with NPM

npm install @anyblades/blades

Then, @import sources into your CSS file:

@import "@anyblades/blades";

Alternatively, import standalone Blades CSS sources only (without underlying Pico CSS base styles):

@import "@anyblades/blades/standalone";

Live example using Tailwind: https://github.com/anyblades/buildawesome-micro-starters/blob/main/tailwind/styles.css


Or import only the Pico CSS parts you need, e.g. per page or per component:

@import "@anyblades/blades/pico/variables";
@import "@anyblades/blades/pico/layout/document";
@import "@anyblades/blades/pico/content/typography";
@import "@anyblades/blades/pico/components/modal";
  • variables and layout/document are the minimum; keep the same order as src/pico/_index.css (variables β†’ layout β†’ content β†’ forms β†’ components β†’ utilities).
  • Some parts build on others, e.g. components/group and components/dropdown expect forms/basics and content/button.
  • Available parts are the files under src/pico/: layout/*, content/*, forms/*, components/* (or a whole category, e.g. @anyblades/blades/pico/components) and utilities.

D. Official starters


Starter HTML template

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="color-scheme" content="light dark" />
    <link rel="stylesheet" href="css/blades.css" />
    <title>Hello world!</title>
  </head>
  <body>
    <main class="container">
      <h1>Hello world!</h1>
    </main>
  </body>
</html>

Dynamic templates

Available for Nunjucks, Liquid and Twig β†—


Documentation


Trusted by

Featured by

Credits

About

Fully compatible and actively maintained successor to Pico CSS. Introduces float labels, breakout container and other modern, opt-out helpers. Simply switch `pico.css` to `blades.css` OR use `blades.standalone.css` with other frameworks πŸ₯·βœ¨

Topics

Resources

Code of conduct

Stars

367 stars

Watchers

7 watching

Forks

Releases

Used by

Contributors

Languages