diff --git a/src/components/app/flex-order.scss b/src/components/app/flex-order.scss new file mode 100644 index 0000000000..468e86a681 --- /dev/null +++ b/src/components/app/flex-order.scss @@ -0,0 +1,15 @@ + +// Flex Order +// -------------------------------------------------- + + +// the rock that everything orders around +$flex-order-view-content: 40 !default; + + +$flex-order-toolbar-top: 20 !default; +$flex-order-toolbar-bottom: 60 !default; + + +$flex-order-tab-bar-top: 30 !default; +$flex-order-tab-bar-bottom: 50 !default; diff --git a/src/components/app/mixins/util.scss b/src/components/app/mixins/util.scss index e23e85f9e6..e4cc83b504 100644 --- a/src/components/app/mixins/util.scss +++ b/src/components/app/mixins/util.scss @@ -70,39 +70,50 @@ // -------------------------------------------------- @mixin hairline($placement, $line-color, $z-index: 999) { + // use $line-color: none to override existing hairline settings @if $placement == top { &:before { - position: absolute; - top: 0; - right: auto; - bottom: auto; - left: 0; - z-index: $z-index; - display: block; - width: 100%; - height: 1px; - @include transform-origin(50%, 0%); - background-color: $line-color; - content: ''; + @if $line-color == none { + background-color: inherit; + + } @else { + position: absolute; + top: 0; + right: auto; + bottom: auto; + left: 0; + z-index: $z-index; + display: block; + width: 100%; + height: 1px; + @include transform-origin(50%, 0%); + background-color: $line-color; + content: ''; + } } } @else if $placement == bottom { &:after { - position: absolute; - top: auto; - right: auto; - bottom: 0; - left: 0; - z-index: $z-index; - display: block; - width: 100%; - height: 1px; - @include transform-origin(50%, 0%); - background-color: $line-color; - content: ''; + @if $line-color == none { + background-color: inherit; + + } @else { + position: absolute; + top: auto; + right: auto; + bottom: 0; + left: 0; + z-index: $z-index; + display: block; + width: 100%; + height: 1px; + @include transform-origin(50%, 0%); + background-color: $line-color; + content: ''; + } } } diff --git a/src/components/app/scaffolding.scss b/src/components/app/scaffolding.scss index 360737a1e9..231b8b4a90 100644 --- a/src/components/app/scaffolding.scss +++ b/src/components/app/scaffolding.scss @@ -47,6 +47,7 @@ html { // container of many .nav-pane's, each one containing one view position: relative; @include flex(1); + @include flex-order($flex-order-view-content); } .tab-pane-container { @@ -54,6 +55,7 @@ html { position: relative; width: 100%; height: 100%; + @include flex-order($flex-order-view-content); } .nav-pane { diff --git a/src/components/tabs/extensions/android.scss b/src/components/tabs/extensions/android.scss index d1fe74304e..9e71d4be1b 100644 --- a/src/components/tabs/extensions/android.scss +++ b/src/components/tabs/extensions/android.scss @@ -2,6 +2,7 @@ // Android Toolbar // -------------------------------------------------- +$tab-bar-android-min-height: 40px !default; $tab-bar-android-item-padding: 4px 10px !default; $tab-bar-android-active-border-width: 3px !default; $tab-bar-android-active-border-color: red !default; @@ -11,6 +12,10 @@ $tab-bar-android-text-font-weight: 500 !default; .tabs-android { + .tab-bar-container { + min-height: $tab-bar-android-min-height; + } + .tab-bar-item { padding: $tab-bar-item-padding; text-transform: $tab-bar-android-text-transform; diff --git a/src/components/tabs/extensions/ios.scss b/src/components/tabs/extensions/ios.scss index 13d92c6a66..c3239a9a16 100644 --- a/src/components/tabs/extensions/ios.scss +++ b/src/components/tabs/extensions/ios.scss @@ -2,6 +2,8 @@ // iOS Toolbar // -------------------------------------------------- +$tab-bar-ios-min-height: 52px !default; + $tab-bar-ios-item-padding: 3px 10px !default; $tab-bar-ios-item-font-size: 1.1rem !default; $tab-bar-ios-item-icon-size: 2.8rem !default; @@ -9,6 +11,10 @@ $tab-bar-ios-item-icon-size: 2.8rem !default; .tabs-ios { + .tab-bar-container { + min-height: $tab-bar-ios-min-height; + } + .tab-bar-item { padding: $tab-bar-ios-item-padding; } @@ -21,12 +27,16 @@ $tab-bar-ios-item-icon-size: 2.8rem !default; font-size: $tab-bar-ios-item-icon-size; } - > .tab-bar.toolbar-bottom { + &.tab-bar-bottom > .tab-bar-container { @include hairline(top, $toolbar-ios-border-color); } - > .tab-bar.toolbar-top { + &.tab-bar-top > .tab-bar-container { @include hairline(bottom, $toolbar-ios-border-color); } + &.tab-bar-top > .toolbar-container .toolbar { + @include hairline(bottom, none); + } + } diff --git a/src/components/tabs/tabs.js b/src/components/tabs/tabs.js index 7bc017b5f3..70fbc2ba07 100644 --- a/src/components/tabs/tabs.js +++ b/src/components/tabs/tabs.js @@ -12,12 +12,12 @@ import {IonicComponent} from 'ionic2/config/component' @Template({ inline: `
- +
-