How to create responsive grid layout system in html with vanilla javascript plugin

How to create responsive grid layout system in html with vanilla javascript plugin

How to create responsive grid layout system in html with vanilla javascript plugin

How to create responsive grid layout system in html with vanilla javascript plugin

In this post i show how to make a complete responsive gride sysytem in website page with the help of html and Magic-Grid vanilla javascript library

Magic-Grid is an open source vanilla javascript library on github .

About

A simple, lightweight Javascript library for dynamic grid layouts.

 MIT License

Full Setup Source Code :-




<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{background: black;}
        img{
            border3px solid #ccc;
            
        }
    </style>
</head>

<body>
    <div id="container">
        <img src="https://picsum.photos/400/300?random=1" alt="">
        <img src="https://picsum.photos/400/200?random=2" alt="">
        <img src="https://picsum.photos/400/500?random=3" alt="">
        <img src="https://picsum.photos/400/400?random=4" alt="">
        <img src="https://picsum.photos/400/350?random=5" alt="">
        <img src="https://picsum.photos/400/250?random=6" alt="">
        <img src="https://picsum.photos/400/450?random=7" alt="">
        <img src="https://picsum.photos/400/560?random=8" alt="">
        <img src="https://picsum.photos/400/270?random=9" alt="">
        <img src="https://picsum.photos/400/380?random=10" alt="">
        <img src="https://picsum.photos/400/300?random=1" alt="">
        <img src="https://picsum.photos/400/200?random=2" alt="">
        <img src="https://picsum.photos/400/500?random=3" alt="">
        <img src="https://picsum.photos/400/400?random=4" alt="">
        <img src="https://picsum.photos/400/350?random=5" alt="">
        <img src="https://picsum.photos/400/250?random=6" alt="">
        <img src="https://picsum.photos/400/450?random=7" alt="">
        <img src="https://picsum.photos/400/560?random=8" alt="">
        <img src="https://picsum.photos/400/270?random=9" alt="">
        <img src="https://picsum.photos/400/380?random=10" alt="">

    </div>

    <script src="https://unpkg.com/magic-grid/dist/magic-grid.min.js"></script>
    <script>
        window.addEventListener('load',function(){
            let magicGrid = new MagicGrid({
            container: "#container"// Required. Can be a class, id, or an HTMLElement.
            static: true// Required for static content.
            animate: true// Optional.
            });
            magicGrid.listen();
        })
    </script>
</body>
</html>


CDN :-

<script src="https://unpkg.com/magic-grid/dist/magic-grid.cjs.js"></script>

<!-- or (minified) -->
<script src="https://unpkg.com/magic-grid/dist/magic-grid.min.js"></script>

API
MagicGrid(config)
config (required): Configuration object

The MagicGrid constructor. Initializes the grid with a configuration object.

let magicGrid = new MagicGrid({
  container: "#container", // Required. Can be a class, id, or an HTMLElement
  static: false, // Required for static content. Default: false.
  items: 30, // Required for dynamic content. Initial number of items in the container.
  gutter: 30, // Optional. Space between items. Default: 25(px).
  maxColumns: 5, // Optional. Maximum number of columns. Default: Infinite.
  useMin: true, // Optional. Prioritize shorter columns when positioning items? Default: false.
  useTransform: true, // Optional. Position items using CSS transform? Default: True.
  animate: true, // Optional. Animate item positioning? Default: false.
  center: true, //Optional. Center the grid items? Default: true. 
});