Container
<gcds-container>
Also called: wrapper, box.
A container is a basic box layout with a set width for its contents.
-
GitHub -
Figma
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.
In this section
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:
centerendstart
<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:
fullpage
<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)xllgmdsmxs
<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>
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.
-
Explore by choosing different code values to generate the instance you want.
-
Get the code and pull it into your environment.
-
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