GC Design System Components
GC Design System Start to use Page templates overview Basic page Components overview Breadcrumbs Button Card Checkboxes Container Date input Date modified Details Error message Error summary Fieldset File uploader Footer Grid Header Heading Icon Input Language toggle Link Notice Pagination Radios Screenreader-only Search Select Side navigation Signature Stepper Table Text Textarea Theme and topic menu Top navigation CSS shortcuts overview Reset styles Responsive layout State Box sizing Container sizing Display Overflow Position Visibility Font Font family Font size Font style Font weight Line height Link colour Link size Link text decoration List style Text align Text colour Text overflow Text transform Word break Margin Padding Align content Align items Align self Flex Flex direction Flex grow Flex shrink Flex wrap Gap Grid columns Grid rows Justify content Justify items Justify self Order Place content Place items Place self Background colour Border colour Border radius Border style Border width Icon names Icon size Image Cursor Pointer events Transition Styles overview Design tokens Colour tokens Spacing tokens Typography tokens Contact us Get involved Find a demo

Container
<gcds-container>

Also called: wrapper, box.

A container is a basic box layout with a set width for its contents.

Container component preview

On this page

Coding and accessibility for containers

Limit width of content

  • Keep text line length below 65 characters for a comfortable, accessible reading length.
  • Limit column width to stop large screens from displaying lines of text that are overly long and difficult to read.
  • Avoid exceeding the maximum width of 71.25rem (1140px) wide.

Add a container size

The size property sets the size of the container. It comes in 6 sizes:

Size REM Pixels (Px)
full 100% 100%
xl 71.25rem 1140px
lg 62rem 992px
md 48rem 768px
sm 30rem 480px
xs 20rem 320px

By default, the container size will be set to full which means it will take up the entire width of the parent container.

Align content with the page layout

Use layout="page" to visually align page content with the header and footer.

When layout is set to page, the container:

  • Uses a maximum width of 71.25rem (1140px).
  • Is centred automatically within the viewport.
  • Switches to 90% width on smaller screens.
  • Matches the layout behaviour of the header and footer components.

Using layout="page" ensures content maintains a consistent width, alignment, and reading experience across breakpoints. When layout is set to page, there is no need to define a container size or set alignment, as the page layout automatically controls width and alignment.

Position the container

Use the alignment attribute to control how a container is positioned within its parent. It supports three options:

  • start - position the container horizontally to the start of the available space.
  • center - centres the container horizontally.
  • end - position the container horizontally to the end of the available space.

Note: When the layout attribute is set to page, the alignment attribute is ignored, the page layout automatically manages width and centring.

Examples Explore the different ways you can configure the component. Each example shows a working implementation and ready-to-copy code.

In this section

Optional attributes These attributes allow you to customize or extend the component’s behaviour and presentation.

alignment

The alignment attribute sets how the container is positioned within its parent. This property is ignored when layout is set to page, as the page layout has higher priority. The available options are:

  • center
  • end
  • start

<gcds-container alignment="center" size="sm" border padding="300">
  <p>Container</p>
</gcds-container>

border

The border attribute controls whether the container has a border or not.

<gcds-container border padding="300">
  <p>Container</p>
</gcds-container>

layout

The layout attribute sets how the container aligns with the page layout. The available options are:

  • full
  • page

<gcds-container layout="full" border padding="300">
  <p>Container</p>
</gcds-container>

margin

The margin attribute sets the container margin. Left and right margins are not applied if the container’s alignment attribute is defined, since alignment has higher priority.

<gcds-container margin="800" size="xs" border padding="300">
  <p>Container</p>
</gcds-container>

padding

The padding attribute sets the container’s padding, which is the inner spacing between the container’s border and its content.

<gcds-container padding="600" border>
  <p>Container</p>
</gcds-container>

size

The size attribute sets the width of the container. The available options are:

  • full (default)
  • xl
  • lg
  • md
  • sm
  • xs

<gcds-container size="sm" border padding="300">
  <p>Container</p>
</gcds-container>

tag

The tag attribute sets the HTML element used to render the container. By default, it is set to div.

<gcds-container tag="section" border padding="300">
  <p>Container</p>
</gcds-container>

Slots The default slot allows you to inject custom content into the component’s primary content area, and named slots, into specific areas.

default

The default slot is for adding content inside the container.

<gcds-container border padding="300">
  <p>Container</p>
</gcds-container>

Code builder

Generate an instance of the component you need by selecting its code properties.

  1. Explore by choosing different code values to generate the instance you want.

  2. Get the code and pull it into your environment.

  3. Add any copy you need to the component (like text for a label).

Note: The code builder uses English for all code elements, which follows standard practice.

Help us improve

Have questions or a request? Give feedback on our contact form.

Something's wrong? Raise it through GitHub with an account. You'll have access to the team's direct responses, progress made on your issue, and issues raised by others.

Give feedback Report an issue on GitHub
2026-05-20