Skip to main content

Page Layout

Usage

Base-8 Grid

The base-8 fluid grid is as the name suggests based on spaces that are multiples of 8px horizontally and vertically. It is fully fluid (up to specified maximums) to provide the optimal presentation of the content at any width.

It is content-driven, device-agnostic, and fully fluid, which allows designers to optimize the content layout at key breakpoints.

Key Features

  • Six responsive breakpoints (XS, S, M, L, XL, XXL)
  • Twelve fluid columns for M, L, XL, XXL
  • Four fluid columns for S
  • Two fluid columns for XS
  • Fixed margins and gutters across all breakpoints

Responsive Breakpoints

:NEEDS REVISION: Ensure all design constraints are still within current standards

SizeViewportColumnsGuttersMargins
XS0-479px28px8px
S480-679px48px8px
M680-959px1216px16px
L960-1167px1216px16px
XL1168-1359px1216px16px
XXL1360px-1456px1216px16px

Designing with Base-8

Designers can use the grid to provide the optimal presentation of their content whether data tables, paragraph copy, galleries, or media. Thus, they may not always need to design every breakpoint.

The recommended design widths below use column widths that are divisible by eight.

SizeViewportRecommended Design Widths
XS0-479px392px
S480-679px584px
M680-959px784px
L960-1167px976px
XL1168-1359px1168px
XXL1360px-1456px1360px

Max widths

The max width of applications such as Simulcast and MMR should be determined by the needs of the content.

SizeViewportContent Type
XS0-479pxAll content types
S480-679pxAll content types
M680-959pxAll content types
L960-1167pxMax for Content pages
XL1168-1359pxMax for Listing pages
XXL1360px-1456pxMax for Landing pages
Paragraphs of body text should not exceed a comfortable reading width, generally no more than 700px when viewing a desktop monitor from a typical distance.

Code

Grid Containers, Rows, & Columns

_:NEEDS REVISION: All class names will need to updated.

<Container>
<Row className='bg-white p-2'>
<Col className='bg-info text-light'> Col 1 </Col>
<Col className='bg-primary text-dark'> Col 1 </Col>
<Col className='bg-info text-light'> Col 1 </Col>
</Row>
<Row className='bg-white p-2'>
<Col md={2} className='bg-info text-light'> Col 2 </Col>
<Col md={6} className='bg-primary text-dark'> Col 6 </Col>
<Col md={4} className='bg-info text-light'> Col 4 </Col>
</Row>
<Row className='bg-white p-2'>
<Col md={6} className='bg-info text-light'> Col 6 </Col>
<Col md={6} className='bg-primary text-dark'> Col 6 </Col>
</Row>
<Row className='bg-white p-2'>
<Col md={12} className='bg-info text-light'> Col 12 </Col>
</Row>
</Container>

Grid Breakpoints

<Container>
<Row className="bg-white p-2">
<Col xs={4} className="bg-info text-light">Col</Col>
<Col xs={4} className="bg-primary text-dark">Col</Col>
<Col xs={4} className="bg-info text-light">Col</Col>
</Row>
<Row className="bg-white p-2">
<Col sm={4} className="bg-info text-light">Col</Col>
<Col sm={4} className="bg-primary text-dark">Col</Col>
<Col sm={4} className="bg-info text-light">Col</Col>
</Row>
<Row className="bg-white p-2">
<Col md={4} className="bg-info text-light">Col</Col>
<Col md={4} className="bg-primary text-dark">Col</Col>
<Col md={4} className="bg-info text-light">Col</Col>
</Row>
<Row className="bg-white p-2">
<Col lg={4} className="bg-info text-light">Col</Col>
<Col lg={4} className="bg-primary text-dark">Col</Col>
<Col lg={4} className="bg-info text-light">Col</Col>
</Row>
<Row className="bg-white p-2">
<Col xl={4} className="bg-info text-light">Col</Col>
<Col xl={4} className="bg-primary text-dark">Col</Col>
<Col xl={4} className="bg-info text-light">Col</Col>
</Row>
</Container>

Nested Layouts

<Container>
<Row className='bg-white p-2'>
<Col className='bg-info text-light'>
<Container>
<Row>
<Col className='bg-primary text-dark'>Col</Col>
<Col className='bg-info text-light'>Col</Col>
</Row>
</Container>
</Col>
<Col className='bg-info text-light'>
<Container>
<Row>
<Col xs={10} className='bg-primary text-dark'>Col</Col>
<Col xs={2} className='bg-info text-light'>Col</Col>
</Row>
</Container>
</Col>
</Row>
</Container>

Props

The props below are optional. When omitted, the result will be a 100% width column.

NameTypeDefaultDescription
xsnumbersets the width percentage for the xs breakpoint
(0-479px)
smnumbersets the width percentage for the sm breakpoint
(480-679px)
mdnumbersets the width percentage for the md breakpoint
(680-959px)
lgnumbersets the width percentage for the lg breakpoint
(960-1167px)
xlnumbersets the width percentage for the xl breakpoint
(1168-1359px)
xxlnumbersets the width percentage for the xxl breakpoint
(1360px-1456px)