Bullframe.css
๐จ Bullframe CSS is a lightweight Sass (SCSS) framework for building fast, responsive, and accessible UIs. It's semantic, themeable, and classless-friendly, with solid cross-browser support.
Install / Use
/learn @marcop135/Bullframe.cssREADME
Bullframe CSS v5.x
<p> <a href="https://www.npmjs.com/package/bullframe.css"> <img src="https://img.shields.io/npm/v/bullframe.css.svg?style=flat-square" alt="NPM version"> </a> <a href="https://github.com/marcop135/bullframe.css/commits"> <img src="https://img.shields.io/github/last-commit/marcop135/bullframe.css.svg?style=flat-square" alt="Last commit"> </a> <a href="https://github.com/marcop135/bullframe.css/blob/master/LICENSE"> <img src="https://img.shields.io/github/license/marcop135/bullframe.css.svg?style=flat-square" alt="MIT License"> </a> </p> <picture> <source media="(prefers-color-scheme: dark)" srcset="src/docs/github-readme/bf-logo-full-dark.png"> <source media="(prefers-color-scheme: light)" srcset="src/docs/github-readme/bf-logo-full-light.png"> <img alt="Bullframe CSS logo" src="https://raw.githubusercontent.com/marcop135/bullframe.css/master/src/docs/github-readme/bf-logo-full-light.png"> </picture>https://github.com/marcop135/bullframe.css
What is Bullframe CSS?
Bullframe CSS is a lightweight Sass (SCSS) framework for building fast, responsive, and accessible UIs โ semantic, themeable, and classless-friendly, with solid cross-browser support.
Perfect for landing pages, marketing sites, micro-sites, blogs, docs, product listings, and more.
Simply add it, start building, and stay in control.
Best Features
- Responsive layout and style normalization out of the box
- Cross-browser form elements
- JavaScript framework-agnostic
- Sass-based architecture with BEM methodology
- Responsive typography
- Dark mode and theming support
- RTL (right-to-left) support
- Vite-friendly
- Works well with classless setups
What's Included
bullframe.css/
โโโ dist/
โ โโโ css/
โ โโโ bullframe-classless.css
โ โโโ bullframe-classless.min.css
โ โโโ ...
โ โโโ bullframe-dark.css
โ โโโ bullframe-dark.min.css
โ โโโ ...
โ โโโ bullframe-utilities.css
โ โโโ bullframe-utilities.min.css
โ โโโ ...
โ โโโ bullframe.css
โ โโโ bullframe.min.css
โ โโโ ...
โ โโโ bullframe-classless.css.map
โ โโโ bullframe.min.css.map
โ โโโ ...
โโโ src/scss/
โ โโโ forms/
โ โโโ miscellaneous/
โ โโโ mixins/
โ โโโ typography/
โ โโโ utilities/
โ โโโ variables/
โ โโโ bullframe-classless.scss
โ โโโ bullframe-dark.scss
โ โโโ bullframe-utilities.scss
โ โโโ bullframe-system-default.scss
โ โโโ bullframe.scss
โ โโโ ...
โโโ vite.config.js
โโโ index.html
โโโ ...
Live Demo & Examples
- ๐ One-page demo: a complete showcase of styled HTML elements, form controls, lists, tables, media, and the responsive grid system โ ideal for quick cross-browser testing and exploration
- ๐งช CodePen collection: live examples of utilities, components, and prototypes โ great for quick testing, remixing, and sharing ideas.
Getting Started
CDN
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5">
HTML Starter Template
<details><summary>Open HTML</summary><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Bullframe CSS v5.x HTML Starter Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5/dist/css/bullframe.min.css">
</head>
<body>
<div class="bf-container">
<!-- Add your site or application content here -->
<p>Hello World! This is a Bullframe CSS v5.x HTML starter template.</p>
</div>
</body>
</html>
</details>
HTML Classless Starter Template
<details><summary>Open HTML</summary>[!NOTE] What does "classless" mean? No utility classes or extra markup needed. Just write semantic HTML and get clean, normalized styles.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Bullframe CSS 5.x Classless Starter Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5/dist/css/bullframe-classless.min.css">
<!-- Optional: center page content by default -->
<style>
body {
margin-left: auto;
margin-right: auto;
padding: 1.5rem;
max-width: 80rem;
}
</style>
</head>
<body>
<div class="bf-container">
<!-- Add your site or application content here -->
<p>Hello World! This is a Bullframe CSS v5.x HTML classless starter template.</p>
</div>
</body>
</html>
</details>
npm
Make sure you have Node.js installed. Then run:
npm install bullframe.css
Download
Customization
Theming
Bullframe provides three builds for theming:
bullframe.cssโ light themebullframe-dark.cssโ dark themebullframe-system-default.cssโ theme based on user system preference (prefers-color-scheme)
Light Theme CDN (Default)
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5/dist/css/bullframe.min.css">
Dark Theme CDN
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5/dist/css/bullframe-dark.min.css">
System-default Theme CDN
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css@5/dist/css/bullframe-system-default.min.css">
Customise and Rebuild All Styles
After installing Bullframe CSS via npm, you can use Vite.js to rebuild the framework as you prefer, adding your custom Sass variables and styles:
# Build production-ready site/app
npm run build
# Preview production build locally
npm run preview
Utilities
Bullframe CSS offers a set of utility classes for fine-grained control over your layout, spacing, typography, and more. Explore each category below for detailed reference.
Grid system
<details><summary>Open utilities</summary>| Variable | Value |
| -------------------- | ------ |
| $bf-breakpoint-xs | 0 |
| $bf-breakpoint-sm | 576px |
| $bf-breakpoint-md | 768px |
| $bf-breakpoint-lg | 992px |
| $bf-breakpoint-xl | 1200px |
| $bf-breakpoint-xxl | 1400px |
| Utility class | Description |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| .bf-container | Sets a centered block container with a max-width of 1140px, and a custom padding |
| .bf-container--fluid | Sets a fluid centered block container with a custom padding |
| .bf-container--break-xs | Collapses all the columns when the viewport is 575px and below |
| .bf-container--break-md | Collapses all the columns when the viewport is 767px and below |
| .bf-container--break-lg | Collapses all the columns when the viewport is 991px and below |
| .bf-row | Sets a block container with a custom negative margin |
| .bf-col-1 | Sets a floated container with a custom padding and a width of 8.3333% |
| .bf-col-2 | Sets a floated container with a custom padding and a width of 16.666666666666664% |
| .bf-col-3 | Sets a floated container with a custom padding and a width of 25% |
| .bf-col-4 | Sets a floated container with a custom padding and a width of 33.33333333333333% |
| .bf-col-5 | Sets a floated container with a custom padding and a width of 41.66666666666667% |
| .bf-col-6 | Sets a floated container with a custom padding and a width of 50% |
| .bf-col-7 | Sets a floated container with a custom padding and a width of 58.333333333333336% |
| .bf-col-8 | Sets a floated container with a custom padding and a width of 66.66666666666666% |
| .bf-col-9 | Sets a floated container with a custom padding and a width of 75% |
| .bf-col-10 | Sets a floated container with a custom padding and a width of 83.33333333333334% |
| .bf-col-11 | Sets a floated container with a custom padding and a width of 91.66666666666666% |
| .bf-col-12 | Sets a floated container with a custom padding and a width of 100% |
| .no-gutters | Set margin-left, margin-right, `padding
