Files
superset2/docs/components/layout-components/grid.md
2025-08-22 09:53:01 -07:00

3.5 KiB


title: Grid sidebar_position: 1

Grid Component

The Grid component provides a flexible layout system for arranging content in rows and columns.

Props

Prop Type Default Description
gutter number or [number, number] 0 Grid spacing between items, can be a single number or [horizontal, vertical]
columns number 12 Number of columns in the grid
justify string 'start' Horizontal alignment: 'start', 'center', 'end', 'space-between', 'space-around'
align string 'top' Vertical alignment: 'top', 'middle', 'bottom'
wrap boolean true Whether to wrap items when they overflow

Row Props

Prop Type Default Description
gutter number or [number, number] 0 Spacing between items in the row
justify string 'start' Horizontal alignment for this row
align string 'top' Vertical alignment for this row

Col Props

Prop Type Default Description
span number - Number of columns the grid item spans
offset number 0 Number of columns the grid item is offset
xs, sm, md, lg, xl number or object - Responsive props for different screen sizes

Examples

Basic Grid

import { Grid, Row, Col } from '@superset-ui/core';

function Example() {
  return (
    <Grid>
      <Row gutter={16}>
        <Col span={8}>
          <div>Column 1</div>
        </Col>
        <Col span={8}>
          <div>Column 2</div>
        </Col>
        <Col span={8}>
          <div>Column 3</div>
        </Col>
      </Row>
    </Grid>
  );
}

Responsive Grid

import { Grid, Row, Col } from '@superset-ui/core';

function Example() {
  return (
    <Grid>
      <Row gutter={[16, 24]}>
        <Col xs={24} sm={12} md={8} lg={6}>
          <div>Responsive Column 1</div>
        </Col>
        <Col xs={24} sm={12} md={8} lg={6}>
          <div>Responsive Column 2</div>
        </Col>
        <Col xs={24} sm={12} md={8} lg={6}>
          <div>Responsive Column 3</div>
        </Col>
        <Col xs={24} sm={12} md={8} lg={6}>
          <div>Responsive Column 4</div>
        </Col>
      </Row>
    </Grid>
  );
}

Best Practices

  • Use the Grid system for complex layouts that need to be responsive
  • Specify column widths for different screen sizes to ensure proper responsive behavior
  • Use gutters to create appropriate spacing between grid items
  • Keep the grid structure consistent throughout your application
  • Consider using the grid system for dashboard layouts to ensure consistent spacing and alignment