| Html5 Theme / Understanding layouting with the HTML5 theme | |
The HTML5 theme uses a two-phase JavaScriptâ„¢ algorithm to apply the layout.
The layout algorithm is a two-phase process.
/* use the box-model */
* {
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;r>
}
html, body {
   overflow: hidden;
   position: absolute;
   left: 0px;
   top: 0px;
   right: 0px;
   bottom: 0px;
}
/* the root layout container */
#gGridLayoutRoot {
   height: 100%;
}
/* Genero containers */
.gForm, .gGroup {
   position: relative;
   display: inline-block;
   vertical-align: top;
}
/* layout containers */
[data-g-layout-container] {
  position: relative;
} 
/* layout container items */
[data-g-layout-container] > * {
  position: absolute;
}  
As was pointed out, the two steps of the layout algorithm can be contradictory and sometimes a style must be applied in one of the two phases only. To enable that possibility, a reserved class called gLayoutMeasuring is added to the element identified by gGridLayoutRoot during the first phase. It may be used to set a style during the measure phase "#gGridLayoutRoot(.gLayoutMeasuring)" or during the size and position phase "#gGridLayoutRoot:not(.gLayoutMeasuring)".
 #gGridLayoutRoot:not(.gLayoutMeasuring) .gScrollView {
 width: 100%;
 height: 100%;
 }
Sets the width and height to 100% during the size and
position phase. During the measuring phase, the element takes its
natural size. /* layout container items */
[data-g-layout-container] > * {
   left: <left>;
   top: <top>;
   width: <width>;
   height: <height>;
}
/* stretch layout policy elements that have an 
horizontalStretching or verticalStretching property at true */
<inline style> {
   width: <computed width>;
   height: <computed height>;
}