*, *:before, *:after { @include box-sizing(border-box); } a { -webkit-user-drag: none; -webkit-tap-highlight-color: transparent; } img { -webkit-user-drag: none; } a, button { &:focus { outline: 0; } } body, .ionic-body { position: fixed; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; margin: 0; padding: 0; color: $base-color; word-wrap: break-word; font-size: $font-size-base; font-family: $base-font-family; line-height: $line-height-computed; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; text-size-adjust: none; -webkit-tap-highlight-color: transparent; -webkit-user-drag: none; -webkit-user-select: none; } .content:before, .content:after { display: block; overflow: hidden; height: 0; // Uncollapse content margin if child elements DO have an margin content: "\00a0"; /* No-break space character */ } /* Force all relatively and absolutely positioned elements still render while scrolling Note: This is a bug for "-webkit-overflow-scrolling: touch" (via ratchet) */ .content > * { -webkit-transform: translateZ(0px); transform: translateZ(0px); } .content { position: absolute; width: 100%; height: 100%; } .scroll-content { position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; } // Pad top/bottom of content so it doesn't hide behind .bar-title and .bar-tab. // Note: For these to work, content must come after both bars in the markup .overflow-scroll { overflow: auto; -webkit-overflow-scrolling: touch; } .has-header { top: $bar-height; } .has-subheader { top: $bar-height * 2; } .has-footer { bottom: $bar-height; } // Specify that a content area will have tabs .has-tabs { bottom: 84px; } // A full screen section with a solid background .pane { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; width: 100%; height: 100%; background-color: #fff; }