UNPKG

avris-columnist

Version:

Simple and lightweight multi-column design

66 lines (40 loc) 1.76 kB
# 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)