Files
ionic-framework/scss/_util.scss
Andy Joslin 9327ac71c7 fix(android): when keyboard comes up, ensure input is in view
This requires us to set fullscreen="false" in our cordova apps.

Uses the resize event to determine when the keyboard has been shown,
then broadcasts an event from the activeElement: 'scrollChildIntoView',
which is caught by the nearest parent scrollView.  The scrollView will
then see if that element is within the new device's height (since the
keyboard resizes the screen), and if not scroll it into view.

Additionally, when the keyboard resizes the screen we add a
`.hide-footer` class to the body, which will hide tabbars and footer
bars while the keyboard is opened.

For now, this is android only.

Closes #314.
2014-02-12 09:45:35 -05:00

209 lines
3.0 KiB
SCSS

/**
* Utility Classes
* --------------------------------------------------
*/
.hidden,
.hide {
display: none;
}
.show {
display: block;
}
.invisible {
visibility: hidden;
}
.hide-footer {
.bar-footer,
.tabs {
display: none;
}
.has-footer,
.has-tabs {
bottom: 0;
}
}
.inline {
display: inline-block;
}
.disable-pointer-events {
pointer-events: none;
}
.enable-pointer-events {
pointer-events: auto;
}
.block {
display: block;
clear: both;
&:after {
display: block;
visibility: hidden;
clear: both;
height: 0;
content: ".";
}
}
.full-image {
width: 100%;
}
.clearfix {
*zoom: 1;
&:before,
&:after {
display: table;
content: "";
// Fixes Opera/contenteditable bug:
// http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
line-height: 0;
}
&:after {
clear: both;
}
}
/**
* Content Padding
* --------------------------------------------------
*/
.padding {
padding: $content-padding;
}
.padding-top,
.padding-vertical {
padding-top: $content-padding;
}
.padding-right,
.padding-horizontal {
padding-right: $content-padding;
}
.padding-bottom,
.padding-vertical {
padding-bottom: $content-padding;
}
.padding-left,
.padding-horizontal {
padding-left: $content-padding;
}
/**
* Rounded
* --------------------------------------------------
*/
.rounded {
border-radius: $border-radius-base;
}
/**
* Utility Colors
* --------------------------------------------------
* Utility colors are added to help set a naming convention. You'll
* notice we purposely do not use words like "red" or "blue", but
* instead have colors which represent an emotion or generic theme.
*/
.light, a.light {
color: $light;
}
.light-bg {
background-color: $light;
}
.light-border {
border-color: $button-light-border;
}
.stable, a.stable {
color: $stable;
}
.stable-bg {
background-color: $stable;
}
.stable-border {
border-color: $button-stable-border;
}
.positive, a.positive {
color: $positive;
}
.positive-bg {
background-color: $positive;
}
.positive-border {
border-color: $button-positive-border;
}
.calm, a.calm {
color: $calm;
}
.calm-bg {
background-color: $calm;
}
.calm-border {
border-color: $button-calm-border;
}
.assertive, a.assertive {
color: $assertive;
}
.assertive-bg {
background-color: $assertive;
}
.assertive-border {
border-color: $button-assertive-border;
}
.balanced, a.balanced {
color: $balanced;
}
.balanced-bg {
background-color: $balanced;
}
.balanced-border {
border-color: $button-balanced-border;
}
.energized, a.energized {
color: $energized;
}
.energized-bg {
background-color: $energized;
}
.energized-border {
border-color: $button-energized-border;
}
.royal, a.royal {
color: $royal;
}
.royal-bg {
background-color: $royal;
}
.royal-border {
border-color: $button-royal-border;
}
.dark, a.dark {
color: $dark;
}
.dark-bg {
background-color: $dark;
}
.dark-border {
border-color: $button-dark-border;
}