Layout

A layout offers versatile ways of presenting and structuring content to create a balanced user experience.

Overview

The layout and app structure is the foundation for designing Insights Hub or Industrial IoT applications.

A layout consists of several regions which in combination form several layout patterns for different scenarios.

General app layout

App layout: general construction of the app layout

Schematic app layout

layout-usage-typ-three-col-extended-layout

Example app layout

General construction

A layout consists of combinations of the following elements:

  1. Global region: The global region is reserved for the OS Bar (only).
  2. Local region: The local region is reserved for the app bar and used as the first level navigation within an application.
  3. Leading region: The leading region is mainly used for the content navigation and selection.
  4. Main region: The main region contains the main content of the application.
  5. Context region: The context region is used for additional information and components.
  6. App header: The app header can be used to display hierarchy in form of a breadcrumb, display information that has to be visible at all times and contains the region toggle buttons.
  7. Item region: The item region is only visible when an item is selected. Information regarding the selected item is displayed to the user.

The global and the main region are required in all parts of an application. All other regions are optional and depend on context and pattern.

App layout: general construction of the app layout

1. Global region, 2. Local region, 3. Leading region, 4. Main region, 5. Context region, 6. App header, 7. Item region

Region behavior

Desktop and tablet (landscape) screens

layout-usage-behavior-region-desktop

Region behavior on desktop and tablet (landscape) screens
Mobile and tablet (portrait) screens

layout-usage-behavior-region-mobile

Region behavior on mobile and tablet (portrait) screens: 1. Main region visible, 2. Leading region active, 3. Context region active, 4. Item region active

Responsive behavior

Mobile size and tablet portrait size

To use the limited screen area of a mobile device, there are two options for the sidebars - overlay the main content or push the main content. The smaller the device, the more the overlay mode is used.

Different regions in Layout

There are different regions a layout can make use of. For example, you can have a layout without a leading or a context region.

JavaScript in example markup

The JavaScript code present in the example markup is used to show how to toggle regions, modes and features. Please make sure to implement your own solution to toggle regions, etc. depending on your tech stack.

To see a detailed explanation of all existing helper classes, please refer to the usage table below and inspect the samples in action with your developer tools.

Layout image 2

Layout with sample content and functionality

This layout contains all regions as well as sample content and functionality.

Layout with sample content and functionality

Layout image 2

Empty layout with all regions

This layout contains all regions (including the App bar), without any content.

Empty layout with all regions

Layout image 2

Empty layout without App bar

This layout contains all regions (without the App bar) without any content.

Empty layout without App bar

Usage

ElementClassDescription
.appWrapper__regions .has-appBar Moves the regions to the right so that there is enough space for an app bar on the left.
If this class is not present, the leading or main region starts at the very left of the browser window.
.appWrapper__regions .has-appHeader Moves the regions down to make room for the app header (including mobile buttons for hiding/showing leading and context region).
.appWrapper__regions .has-leadingRegion Sets the layout for a leading region on the left. If not set, the leading region will not be shown, even if it is present in the markup.
.appWrapper__regions .has-contextRegion Sets the layout for a context region on the right. If not set, the context region will not be shown, even if it is present in the markup.
.appWrapper__regions .leadingRegion-is-expanded Changes the layout such that the leading region is visible and the other regions react accordingly. Use this class to show/toggle the leading region.
.appWrapper__regions .contextRegion-is-expanded Changes the layout such that the context region is visible and the other regions react accordingly. Use this class to show/toggle the context region.
.appWrapper__regions .appWrapper__regions--pushLayout Sets the layout algorithm such that for tablets in portrait mode (and above) leading region and context region 'share' the available space (= main region uses whats left of leading and context region).
Default behaviour without this class is that the leading and context region 'overlay' the main region.
.appWrapper__regions .has-distribution-width-xx Overrides the default width distribution between main region and context region. By default the context region has a width of 320px, by applying one of the following classes this can be set to the according percentage distribution. Please note: This override only works with tablets with a screen width of >= 768 pixels, below that it will fallback to default width. Possible values are:
  • 30, 33, 50, 60, 66
e.g. .has-distribution-width-33, .has-distribution-width-50, ...
.leadingRegion, .contextRegion .leadingRegion--hasSpacing .contextRegion--hasSpacing Adds the same spacing (technically: margin) to the leading / context region as the main region.
Without these classes the regions default to a zero spacing.
.appHeader__viewToggler .button .button--leading.button--context These classes are necessary on the two buttons responsible for showing/hiding the leading and context region(s) to indicate on the buttons whether these areas are visible or not.
.appHeader__viewToggler .button .is-disabled Can be used to disable the button(s) for leading and/or context region.
Except where otherwise noted, content on this site is licensed under the Development License Agreement.
Back to top