Grids
A grid system is used to organize graphic elements in relation to a page. Grids create consistent layouts across USAC platforms so the user can quickly navigate around pages.
Overview
Indigo's grid system consists of twelve columns for desktop screens, eight for tablet screens, and four for mobile screens. Developers can specify the number of columns an element will span and whether that number should change depending on screen width. Grids can also be nested within other grids.

Design and Layout
The layout grid consists of three elements:
Columns: The areas where content aligns. Column sizes adjust based on the container size.
Gutter: The fixed space between columns, which remains the same regardless of container size changes.
Margin: The space between the outer columns and the container, which also remains the same regardless of container size changes.

Usage
The following example creates two rows of elements:
- The first row consists of three evenly sized elements.
- The second row consists of two differently sized elements.
The number at the end of the class name indicates the column size. For example: indi-col-xs-4 spans four columns.
- If there are fewer than 12 columns in a row, there will be a space at the right end of the row equal to the remaining columns.
- If there are more than 12 columns in a row, any elements on the right causing the total to exceed 12 will move to the next line.

Breakpoints
In the Indigo Design System, breakpoints are critical points where the layout grid adjusts to the container's width. These thresholds ensure our interfaces remain visually consistent and user-friendly across various device sizes. When a container crosses a breakpoint, it seamlessly shifts to an appropriate grid, reflecting our commitment to responsive design.

Breakpoint | Range | Columns | Gutter | Margin | Relative Frame Size (Design) |
---|---|---|---|---|---|
Mobile | 0 to 599 | 4 | 16 | 16 | 390 |
Tablet | 600 to 1024 | 8 | 32 | 32 | 960 |
Desktop | 1024 to 1607 | 12 | 32 | 64 | 1440 |
Dektop XL | 1608 and up | 12 (Max Col width: 94px) | 32 | 64 | 1920 |
Fixed-Width Content
Content Width Specification: Content can be assigned a fixed width independent of other elements, matching the gutter width of its parent. This setup ensures adjacent content adheres to the outer grid, ideal for components like side-navs.
Grid Utilization for Content Positioning: Positioning content within cells requires specific layout grids chosen based on container size and breakpoints. For example, am 820 px container uses the 'Tablet - no margins' grid to align with the base grid's outer margins, leveraging the 'no margins' variant for sub grids.


Dos and Don'ts

- Do align components, tiles, and type (outside of a container), to the columns.

- Don't take type off the column structure to achieve alignment.

- Do align content to the columns.

- Don't align content to the gutters, which are reserved for spacing between content blocks.

- Do keep intrinsic width components at their default width even if they do not span the columns.

- Don't stretch intrinsic width components to fill a grid. Not every piece of content needs to span the columns.
Class Names
CLASS NAMES | DESCRIPTION |
---|---|
.indi-row-container | Wrapper element that sets a max-width of the grid. |
.indi-row-container-fluid | Wrapper element that allows grid to be full width of the viewport. |
.indi-row | Defines the container for the 12 columns. Elements within this container should use the following .indi-col-{xs, sm, md, lg}-{1 to 12} classes to define responsive behavior and how many columns they should span. |
.indi-col-xs-{1 to 12} | Defines how many columns an element should span on extra small screens. |
.indi-col-sm-{1 to 12} | Defines how many columns an element should span when the screen width is ≥ 600px . |
.indi-col-md-{1 to 12} | Defines how many columns an element should span when the screen width is ≥ 1024px . |
.indi-col-lg-{1 to 12} | Defines how many columns an element should span when the screen width is ≥ 1608px . |
.indi-col-{xs, sm, md, lg}-offset-{1 to 12} | Defines the left margin of an element, offsetting it by the specified number of columns at different screen sizes (extra small, small, medium, and large). |
Installation
Props
No records available |