Skip to content

koniecznytomek/react-styled-grid-layout

Repository files navigation

React Styled Grid Layout

GitHub package.json version (branch) Size


Lightweight and very simple CSS Grid Layout library based on Styled Components for React, Gatsby and others.

Installation

npm i react-styled-grid-layout

Usage

import { Grid, Row, Col, Cell } from 'react-styled-grid-layout';

Examples

Correct order, everything must be wrapped in <Grid> tag.

<Grid>
    <Col>...</Col>
</Grid>
<Grid>
   <Row>
      <Cell>...</Cell>
   </Row>
</Grid>


Simple two columns in one row:

<Grid cols="2">
    <Col>...</Col>
    <Col>...</Col>
    <Col>...</Col>
    <Col>...</Col>
</Grid>


Simple four columns grid with media queries and gaps:

<Grid cols="12" gap="10px">
    <Col xxl="3" md="6" sm="12">...</Col>
    <Col xxl="3" md="6" sm="12">...</Col>
    <Col xxl="3" md="6" sm="12">...</Col>
    <Col xxl="3" md="6" sm="12">...</Col>
</Grid>


You can easily position content within the <Row> container using align and justify props:

<Grid cols="12" gap="10px">
    <Row height="400px">
        <Cell align="center" justify="center"> Center </Cell>
        <Cell align="center"> Left Center </Cell>
        <Cell align="end" index="2"> Left Bottom </Cell>
    </Row>
</Grid>


React function component example:

import React from 'react';
import { Grid, Row, Col, Cell } from 'react-styled-grid-layout';

const Grids = () => {
  return (
    <>
      <Grid cols="4">
        <Col> 1 </Col>
        <Col> 2 </Col>
        <Col> 3 </Col>
        <Col> 4 </Col>
      </Grid>

      <Grid>
        <Row>
          <Cell> 1 </Cell>
          <Cell> 2 </Cell>
        </Row>
      </Grid>
    </>
  );
};

export default Grids;

All props

<Grid>...</Grid>

Props CSS Default Test
rows :number grid-template-rows auto <Grid rows="1fr auto 100px ...">
cols grid-template-columns repeat(12, 1fr) <Grid cols="12">
gap grid-gap 0 <Grid gap="25px">

<Col>...</Col>

Props Breakpoints Test
xxl :number 5120px <Col xxl="3">
xl 1200px <Col xl="6">
lg 992px <Col lg="3">
md 768px <Col md="12">
sm 576px <Col sm="12">
xs 320px <Col xs="12">

\

Props CSS Default Test
row :number grid-row auto <Col row="1">
span grid-column-end 1 <Col span="2">
from to grid-column: [from] / [to] none <Col from="1" to="12">
width max-width none <Col width="50%">
height min-height auto <Col height="500px">
align align-self: [start, center, end] start <Col align="center">
justify justify-self: [start, center, end] start <Col justify="center">
text text-align: [left, center, right] left <Col text="center">

<Row>...</Row>

Props CSS Default Test
height min-height auto <Row height="50px">

<Cell>...</Cell>

Props CSS Default Test
align align-self: [start, center, end] start <Cell align="center">
justify justify-self: [start, center, end] start <Cell justify="center">
index z-index: [num] 1 <Cell index="1">
width max-width auto <Cell width="100px">

Github repository

https://github.com/koniecznytomek/react-styled-grid-layout

git clone https://github.com/koniecznytomek/react-styled-grid-layout

Live demo

https://react-styled-grid-layout.netlify.app/

Case study

alt text

alt text

alt text

alt text

About

My lightweight and very simple CSS Grid Layout library based on Styled Components for React, Gatsby and others. This package is available on npm.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published