Tobago Demo

Menu

Segment Layout

The segment layout is a grid with 12 columns. The number and the proportion of the columns can be set with the attributes extraSmall, small, medium, large, extraLarge and extra2Large. The value is a space separated list. Allowed are '1seg' to '12seg', 'auto' and '1fr'.

Tag Library Documentation

Basics

The following examples show a segment layout with four and three columns and a segment layout with 'auto' and '1fr'.

4 Columns

The sum of the values is 12.

<tc:segmentLayout extraSmall="2seg 3seg 4seg 3seg">

3 Columns

The sum of the values is 8. After the third element, the sequence starts from the beginning. So the fourth element got a value of 2.

<tc:segmentLayout extraSmall="2seg 2seg 4seg">

'auto' and '1fr'

<tc:segmentLayout extraSmall="1fr auto 1fr">

the remaining space

width of the content

the remaining space

Screen Size

For the different kinds of screen sizes, the segment layout has the attributes: extraSmall, small, medium, large, extraLarge and extra2Large.

In the following example, all attributes are used. If you are on a desktop you can see the different behavior by changing the size of the browser window.

<tc:segmentLayout extra2Large="1seg" extraLarge="2seg"
      large="3seg" medium="4seg" small="5seg" extraSmall="6seg">
      ...

Margin

A margin can be set for the different proportions with the attributes marginExtraSmall, marginSmall, marginMedium, marginLarge, marginExtraLarge and marginExtra2Large.

Possible values are none, left, right and both.

<tc:segmentLayout extraSmall="5seg 3seg"
      marginExtraSmall="none both left both">
      ...

Offset

An offset can be set for the different proportions with the <tc:segmentLayoutConstraint/> tag which can have the attributes offsetExtraSmall, offsetSmall, offsetMedium, offsetLarge, offsetExtraLarge and offsetExtra2Large.

Possible values are from 1 to 11 for offsetExtraSmall.
For the other attributes possible values are from 0 to 11.
A offsetMedium="0" overwrite the offset from smaller proportions.

<tc:segmentLayout extraSmall="2seg 2seg 2seg 2seg 2seg 2seg">
      <tc:in value="1"/>
      <tc:in value="2">
      <tc:segmentLayoutConstraint offsetExtraSmall="1" offsetSmall="2"
      offsetMedium="3" offsetLarge="4" offsetExtraLarge="5"/>
      </tc:in>
      ...
      </tc:segmentLayout>

Overwrite default layout

The default layout and margins can be overwritten by the <tc:segmentLayoutConstraint/> tag. Possible attributes are extraSmall, small, medium, large, extraLarge and extra2Large for the layout.
And: marginExtraSmall, marginSmall, marginMedium, marginLarge, marginExtraLarge and marginExtra2Large for the margins.

<tc:segmentLayout extraSmall="4seg 8seg">
      <tc:in value="4"/>
      <tc:in value="8"/>
      <tc:in value="3 - both">
      <tc:segmentLayoutConstraint extraSmall="3seg" marginExtraSmall="both"/>
      </tc:in>
      <tc:in value="8"/>
      </tc:segmentLayout>

Justify

The horizontal alignment can be set with justify. Possible attributes are none, start, center, end, around and between. The default value is none.

<tc:segmentLayout extraSmall="4seg 4seg" justify="none">
      <tc:in value="A"/>
      <tc:in value="B"/>
      </tc:segmentLayout>

      <tc:segmentLayout extraSmall="4seg 4seg" justify="start">
      <tc:in value="A"/>
      <tc:in value="B"/>
      </tc:segmentLayout>

      <tc:segmentLayout extraSmall="4seg 4seg" justify="center">
      <tc:in value="A"/>
      <tc:in value="B"/>
      </tc:segmentLayout>

      <tc:segmentLayout extraSmall="4seg 4seg" justify="end">
      <tc:in value="A"/>
      <tc:in value="B"/>
      </tc:segmentLayout>

      <tc:segmentLayout extraSmall="4seg 4seg" justify="around">
      <tc:in value="A"/>
      <tc:in value="B"/>
      </tc:segmentLayout>

      <tc:segmentLayout extraSmall="4seg 4seg" justify="between">
      <tc:in value="A"/>
      <tc:in value="B"/>
      </tc:segmentLayout>
© 2005-2025 Apache Software Foundation, Licensed under the Apache License, Version 2.0.