Responsive Grid

The Responsive Grid includes one (or more) divisions which house other components. These divisions are responsive, adjusting to the size of the screen. You can set divisions to display either as a vertical stack or a horizontal row; the row will adjust to a reduction in screen size by stacking the divisions.

Using the Responsive Grid

Use the Responsive Grid to organize the page for the best possible user experience. Instead of asking the user to scroll down to see additional components, for example, let the components sit beside one another.

Add flexibility to the page layout by dragging and dropping a Responsive Grid into the page, then formatting it:

  • Add Divisions to the Responsive Grid and configure the grid layout in the Properties pane layout tab.
    • Use the Layout and Styles tabs to format how the grid looks on screen, where the divisions sit within the grid, and the overall spacing both within and around the Responsive Grid component.
    • Add Interactions to the grid.
    • Drag and drop components into each division.
  • Then edit the division properties to customize how each division displays within the grid.

Grid components are also a great way to ensure that one Skuid page will work on both desktop and mobile. If using the component for this purpose, be sure to test the Skuid page on smaller screen sizes.

Best Practices

  • To control the size of the item within a division (and manage the amount of white space within the grid), set a division’s Minimum and Maximum Width.
  • To achieve greater control over page layout and content wrapping, try using Grids within Grids.

Properties

Responsive Grid

Layout tab [[]]

  • Main Axis: Determines how to align the Responsive Grid divisions.

    Note

    The Ink Responsive Grid has a variety of values to represent the relationships of divisions within the grid. The easiest place to start? Try:

    • Main Axis: Row
    • Justify content: Left
    • Align items: Top
    • Row: Aligns divisions in a row.

      • Justify Divisions: Determines how the row of grid divisions will justify along a left-right axis.

        Note

        Useful to locate the divisions within the grid when they have both maximum and minimum width set.

        • Left (default): Divisions are justified with the left margin of the grid.
        • Center: Divisions are justified in the center of the grid.
        • Right: Divisions are justified with the right margin of the grid.
        • Space Between: Divisions are evenly spaced within the grid, with the first division justified to the left margin and the last division justified to the right margin.
        • Space Around: Divisions are evenly spaced within the grid. There is spacing between the first division and the left margin, and between the last division and the right margin.
        • Stretch: Stretches the division’s contents to fit the division’s full width.
      • Align Divisions: Determines where divisions sit within the grid, positioning them along a top-to-bottom axis.

        • Top (default): Divisions are aligned with the top of the grid.
        • Middle: Divisions are aligned along a center left-right axis of the grid.
        • Bottom: Divisions are aligned with the bottom of the grid.
        • Stretch: Stretches the division’s contents to fit the division’s full height.
    • Column: Stacks division on top of one another.

      • Justify Divisions: Determines how the stacked grid divisions will justify along a top-to-bottom axis.

        Note

        Useful to locate the divisions within the grid when they have both maximum and minimum width set.

        • Top (default): Divisions are justified along the top of the grid.
        • Middle: Divisions are justified in the center of the grid.
        • Bottom: Divisions are justified along the bottom of the grid.
        • Space Between: Divisions are evenly spaced within the grid, with the first division justified to the top margin and the last division justified to the bottom margin.
        • Space Around: Divisions are evenly spaced within the grid. There is spacing between the first division and the top margin, and between the last division and the bottom margin.
        • Stretch: Stretches the division’s contents to fit the division’s full height.
      • Align Divisions: Determines where divisions sit within the grid, positioning them along a left-right axis.

        • Left (default): Divisions are aligned with the left margin of the grid.
        • Center: Divisions are aligned along the center top-to-bottom axis of the grid.
        • Right: Divisions are aligned with the right margin of the grid.
        • Stretch: Stretches the division’s contents to fit the division’s full width.
  • Column Gutter Size (optional): The distance between divisions when they are displayed as columns, side-by-side. (Typically affects devices with larger screens, such as desktops.)

    • None
    • Extra Small
    • Small
    • Reduced
    • Regular
    • Increased
    • Large
    • Extra Large
    • Huge
  • Row Gutter Size (optional): The distance between divisions when they are stacked as rows atop one another. (Typically affects smaller screen sizes or mobile devices.)

    • None
    • Extra Small
    • Small
    • Reduced
    • Regular
    • Increased
    • Large
    • Extra Large
    • Huge
  • Full Width: If checked, the rightmost and leftmost components will ignore margins and instead sit immediately adjacent to the right and left edges of the page (respectively).

Advanced tab [[]]

  • Unique Id (optional): Skuid automatically generates an alphanumeric Id for the component; if preferred, give it a practical name.

Interactions tab [[]]

Add interactions to the grid. Click add Add Interaction and then select:

  • Action Type: To initialize the action, choose from three possible interactions:
    • Click: Best for desktop, as well as mobile.
    • Swipe: Best for mobile. Direction options include:
      • Either (direction)
      • Left
      • Right
    • Press: Best for mobile.

Then, click add Add action to the selected interaction and configure.

Styles tab [[]]

Global styles for this component are set in the Design System Studio. The following Style properties can be adjusted for an individual page.

  • Style Variant: Style variants are created and set in the Design System Studio. Some components have pre-defined variants for a specific aspect of a component’s style. Also, Skuid Builders can style and customize elements to create their own themes within the DSS. These themes will dynamically populate as selectable values in the Style Variant dropdown menu.

  • Spacing: Sets the spacing of the Header relative to other components on the page. Spacing can be managed for Top Margin, Bottom Margin, Left Margin, Right Margin. All margins can be set to one of the following:

    • None

    • Extra Small

    • Small

    • Reduced

    • Regular

    • Increased

    • Large

    • Extra Large

    • Huge

    • Note

      These sizes are relative to one another; the baseline is determined by Design System settings.

Rendering tab [[]]

Conditional rendering allows you to display or hide the Grid, based on defined data conditions.

Responsive Grid Divisions [[]]

Click on any Division header text within the grid to access its properties:

  • Flex Ratio: This sets the size of this division relative to other divisions. For example, if there are two divisions in a grid, and the flex ratio for each is 1, they will each take up ½ of the grid. If one has a flex ratio of 2, and the other has a flex ratio of 1, the first one occupies ⅔ of the grid, and the second one occupies ⅓ of it.

  • Minimum Width: Sets a minimum width for the division. This governs division wrapping on smaller screens: when the minimum width is exceeded, the grid division will stack above or below other divisions. This can be specified using px, em, rem, %, vh, or vw measurements.

    Note

    • Em, %, vh, or vw are more responsive to screen size.
    • Ensure the division’s minimum width is at least as wide as its contents.
  • Maximum Width: Sets a maximum width for the division.This can be specified using px, em, rem, %, vh, or vw measurements.

  • Align Self: Sets a separate alignment for the selected division.

    Note

    This setting supersedes the alignment set for all divisions in the Responsive Grid properties, Layout Tab.

    • Top (default): Divisions are aligned with the top of the grid.
    • Middle: Divisions are aligned along a center left-right axis of the grid.
    • Bottom: Divisions are aligned with the bottom of the grid.
    • Stretch: Stretches the division’s contents to fit the division’s full height.
  • Change Order: Click to move this division left or right in the grid.

  • Unique Id (optional): Skuid automatically generates an alphanumeric Id for the grid division; if preferred, give it a practical name.

Deep dive

Want to learn more about flexbox, the CSS layout model Skuid uses to support responsiveness in Ink components, including the Grid? Visit the Flexbox Playground.