@fabiocaccamo/wall.css
Version:
Pure (s)css responsive block-grid with extra features.
122 lines (86 loc) • 2.81 kB
Markdown
# wall.css
Pure (s)css responsive **block-grid** with extra features. 🧱
## Features
- **CSS only** - no js at all.
- **Framework agnostic** - it can be used with any existing framework.
- **Responsive / Mobile-first** - all modifiers can be customized for each different breakpoint.
- **Highly customizable using class modifiers**
## Installation
### NPM
`npm install @fabiocaccamo/wall.css`
### CDN
`https://cdn.jsdelivr.net/npm/@fabiocaccamo/wall.css@latest/dist/css/wall.min.css`
## Usage
### HTML
```html
<div class="wall wall--cols-5 wall--ratio-3-2 wall--rounded-5 wall--spacing-5">
<div class="wall-col">
<a href="#">
<img src="https://via.placeholder.com/500x500" />
</a>
</div>
<div class="wall-col">
<!-- ... -->
</div>
<div class="wall-col">
<!-- ... -->
</div>
<!-- ... -->
</div>
```
### CSS
#### Breakpoints
- `xs` *(can be omitted, it's implicit)*
- `sm` > `576px`
- `md` > `768px`
- `lg` > `992px`
- `xl` > `1200px`
- `xxl` > `1400px`
#### Classes & Modifiers
##### Columns
`.wall` `.wall--{breakpoint}-cols-{n}`
Set the number of columns to display, `{n}` supported values are from `1` to `12`, default `12`.
##### Spacing
`.wall` `.wall--{breakpoint}-spacing-{n}`
`.wall` `.wall--{breakpoint}-spacing-x-{n}`
`.wall` `.wall--{breakpoint}-spacing-y-{n}`
Set the spacing between the items, `{n}` supported values are: `0, 1, 2, 3, 4, 5, 8, 10, 12, 15, 16, 20, 24, 25, 30, 32, 40, 50, 60, 70, 80, 90, 100`, default `0`.
##### Ratio
`.wall` `.wall--{breakpoint}-ratio-{n-n}`
Set the aspect-ratio of the items, `{n-n}` supported values are: `1/1, 2/1, 1/2, 3/1, 1/3, 3/2, 2/3, 4/3, 3/4, 16/9`, default `unset`.
##### Rounded
`.wall` `.wall--{breakpoint}-rounded-{n}`
Set the border-radius of the items, `{n}` supported values are: `0, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 24, 30`, default `0`.
`.wall` `.wall--{breakpoint}-rounded`
Set the border-radius of the items to `100%`, it can be used together with `.wall--ratio-1-1` to make circle items.
#### CSS Variables
The modifiers above operate on the following css variables, that is possible to override:
`--columns: 12;`
`--spacing: 10px;`
`--spacing-x: unset;`
`--spacing-y: unset;`
`--rounded: 0px;`
`--ratio: 1 / 1;`
### SASS
#### Import
```scss
@import "wall";
```
#### SASS Variables
```scss
$wall-columns: 12 !default;
$wall-spacing: 0, 1, 2, 3, 4, 5, 8, 10, 12, 15, 16, 20, 24, 25, 30, 32 !default;
$wall-ratio: ((1, 1), (2, 1), (3, 1), (3, 2), (4, 3), (16, 9)) !default;
$wall-rounded: 0, 2, 3, 4, 5, 8, 10, 12, 15, 16, 20, 24, 25, 30, 32 !default;
$wall-breakpoints: (
xs: 0,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px,
xxl: 1400px
) !default;
```
---
## License
Released under [MIT License](LICENSE).