Grid CSS is based on a 12 column layout. Columns are prefixed with ui-g-* and they should be a descendant of a container having ui-g class. A simple 3 column layout can be defined as;

    Col1

    Col2

    Col3

    Multi Line

    When the number of columns exceed 12, columns wrap to a new line.

    1. <div class="ui-g">
    2. <div class="ui-g-6">Col1</div>
    3. <div class="ui-g-6">Col2</div>
    4. <div class="ui-g-6">Col3</div>
    5. <div class="ui-g-6">Col4</div>
    6. </div>
    7.  

    Col1

    Col2

    Col3

    Col3

    Same can also be achieved by having two ui-g containers to semantically define a row.

    1. <div class="ui-g">
    2. <div class="ui-g-6">Col1</div>
    3. <div class="ui-g-6">Col2</div>
    4. <div class="ui-g">
    5. <div class="ui-g-6">Col3</div>
    6. <div class="ui-g-6">Col4</div>
    7.  

    Col1

    Col2

    Col3

    Columns can be nested to create more complex layouts.

    6

    6

    12

    4

    Direct children of ui-g has the same height automatically, in example above if the inside columns is likely to have different height with different content.

    1. <div class="ui-g">
    2. <div class="ui-g-8 ui-g-nopad">
    3. <div class="ui-g-6">6 <br /><br /><br /> Content </div>
    4. <div class="ui-g-6">6</div>
    5. <div class="ui-g-12">12</div>
    6. </div>
    7. <div class="ui-g-4">4</div>
    8. </div>
    9.  

    6 Content

    6

    12

    4

    Solution is wrapping the internal divs inside a ui-g as well.

    1. <div class="ui-g">
    2. <div class="ui-g-8 ui-g-nopad">
    3. <div class="ui-g">
    4. <div class="ui-g-12">12</div>
    5. </div>
    6. </div>
    7. <div class="ui-g-4">4</div>
    8. </div>
    9.  

    6 Content

    6

    12

    Responsive

    Responsive layout is achieved by applying additional classes to the columns whereas ui-g-* define the default behavior. Four screen sizes are supported with different breakpoints.

    Most of the time, ui-md- styles are used with default ui-g- classes, to customize small or large screens apply ui-sm, ui-lg and ui-xl can be utilized.

    In example below, large screens display 4 columns, medium screens display 2 columns in 2 rows and default behavior gets only displayed in a mobile phone where each column is rendered in a separate row.

    ui-g-12 ui-md-6 ui-lg-3

    ui-g-12 ui-md-6 ui-lg-3

    ui-g-12 ui-md-6 ui-lg-3

    ui-g-12 ui-md-6 ui-lg-3

    In this second example below, 3 columns are displayed in large screens and in medium screens first two columns are placed side by side where the last column displayed below them. In a mobile phone, they all get displayed in a separate row.

    1. <div class="ui-g">
    2. <div class="ui-g-12 ui-md-6 ui-lg-4">ui-g-12 ui-md-6 ui-lg-4</div>
    3. <div class="ui-g-12 ui-md-6 ui-lg-4">ui-g-12 ui-md-6 ui-lg-4</div>
    4. <div class="ui-g-12 ui-lg-4">ui-g-12 ui-lg-4</div>
    5. </div>
    6.  

    ui-g-12 ui-md-6 ui-lg-4

    ui-g-12 ui-md-6 ui-lg-4

    ui-g-12 ui-lg-4

    A column has a default padding by default, to remove it you may apply ui-g-nopad style class.

    Offset

    Offset classes allow defining a left margin on a column. Following sample adds a margin left to the second column for medium sized screens.

    1. <div class="ui-g">
    2. <div class="ui-g-12 ui-md-4">ui-g-12 ui-md-4</div>
    3. </div>

    The list of offset classes varying within a range of 1 to 12.

    PrefixDevicesMedia QueryExample
    ui-g-offset-All devicesAll screensui-g-offset-6, ui-g-offset-4
    ui-sm-offset-Small devices like phonesmax-width: 40em (640px)ui-sm-offset-6, ui-sm-offset-4
    ui-md-offset-Medium sized devices such as tabletsmin-width: 40.063em (641px)ui-md-offset-6, ui-md-offset-4
    ui-lg-offset-Devices with large screen like desktopsmin-width: 64.063em (1025px)ui-lg-offset-6, ui-lg-offset-4
    ui-xl-offset-*Big screen monitorsmin-width: 90.063em (1441px)ui-xl-offset-6, ui-xl-offset-4

    Source