avris-columnist
Version:
Simple and lightweight multi-column design
66 lines (40 loc) • 1.76 kB
Markdown
# Columnist – Simple and lightweight multi-column design
Columnist achieves a nice, masonry-like, multi-column design without using absolute positioning.
It doesn't move items to different columns, doesn't do any fancy maths,
all it does it fixing the empty space below shorter columns – simple and lightweight!
- [Demo](https://columnist.avris.it)
- [How it works?](https://avris.it/projects/columnist)
- [Source code](https://gitlab.com/Avris/Columnist)
- [NPM](https://www.npmjs.com/package/avris-columnist)
## Installation
You can either install Columnist as a node module:
$ npm i --save avris-columnist
or
$ yarn add avris-columnist
Use a CDN:
<script src="https://glcdn.githack.com/Avris/Columnist/raw/v0.2.1/dist/Columnist.min.js"></script>
## Usage
### HTML
<div class="columnist-wall row">
<div class="columnist-column col-4">
<div class="card">...</div>
</div>
...
</div>
Class names are irrelevant. It's important that a column has only one child element!
### JS
import Columnist from 'avris-columnist';
const columnist = new Columnist(document.querySelector('.columnist-wall'));
columnist.layout(); // apply layout
columnist.start(100); // run every 100 ms -- temporary solution, will be removed
columnist.destroy(); // destroy and clean up
### CSS
You can add an animation like this:
<style lang="scss" scoped>
.columnist-wall > .columnist-column {
transition: margin-top .2s ease-in-out;
}
</style>
## Copyright
* **Author:** Andrea Vos [(avris.it)](https://avris.it)
* **Licence:** [OQL](https://oql.avris.it/license.tldr?c=Andrea%20Vos%7Chttps://avris.it)