diff --git a/dist/css/ionic-ios7.css b/dist/css/ionic-ios7.css index e36923ea27..45d6b83842 100644 --- a/dist/css/ionic-ios7.css +++ b/dist/css/ionic-ios7.css @@ -840,6 +840,7 @@ a.subdued‎ { -webkit-box-orient: horizontal; -moz-box-orient: horizontal; background-color: white; + background-image: linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%); border-color: #dddddd; color: #333333; position: fixed; @@ -851,39 +852,56 @@ a.subdued‎ { height: 49px; border-style: solid; border-top-width: 1px; - font-size: 16px; } + line-height: 49px; + background-size: 0; } .tabs.tabs-default { background-color: white; + background-image: linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%); border-color: #dddddd; color: #333333; } .tabs.tabs-secondary { background-color: whitesmoke; + background-image: linear-gradient(0deg, #bbbbbb, #bbbbbb 50%, transparent 50%); border-color: #bbbbbb; color: #333333; } .tabs.tabs-primary { background-color: #4a87ee; + background-image: linear-gradient(0deg, #3b6dc2, #3b6dc2 50%, transparent 50%); border-color: #3b6dc2; color: white; } .tabs.tabs-success { background-color: #66cc33; + background-image: linear-gradient(0deg, #5bb22f, #5bb22f 50%, transparent 50%); border-color: #5bb22f; color: white; } .tabs.tabs-info { background-color: #43cee6; + background-image: linear-gradient(0deg, #3bb3c8, #3bb3c8 50%, transparent 50%); border-color: #3bb3c8; color: white; } .tabs.tabs-warning { background-color: #f0b840; + background-image: linear-gradient(0deg, #d29f31, #d29f31 50%, transparent 50%); border-color: #d29f31; color: white; } .tabs.tabs-danger { background-color: #ef4e3a; + background-image: linear-gradient(0deg, #c73927, #c73927 50%, transparent 50%); border-color: #c73927; color: white; } .tabs.tabs-dark { background-color: #ef4e3a; + background-image: linear-gradient(0deg, #c73927, #c73927 50%, transparent 50%); border-color: #c73927; color: white; } + @media (min--moz-device-pixel-ratio: 1.5), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) { + .tabs { + padding-top: 2px; + border-top: none !important; + border-bottom: none !important; + background-position: top; + background-size: 100% 1px; + background-repeat: no-repeat; } } .tabs-top { top: 44px; } @@ -895,7 +913,6 @@ a.subdued‎ { display: block; overflow: hidden; box-sizing: border-box; - padding-top: 4px; width: 0; height: 100%; color: inherit; @@ -909,33 +926,29 @@ a.subdued‎ { opacity: 0.7; } .tabs-icon-top .tab-item, -.tabs-icon-right .tab-item, -.tabs-icon-bottom .tab-item, -.tabs-icon-left .tab-item { - position: relative; - padding-top: 0; - font-size: 10px; } +.tabs-icon-bottom .tab-item { + font-size: 10px; + line-height: 14px; } -.tabs-icon-left .tab-item i { - position: absolute; - left: 4px; - display: flex; - height: 100%; - align-items: center; } - -.tabs-icon-right .tab-item i { - position: absolute; - right: 4px; - display: flex; - height: 100%; - align-items: center; } - -/* Icon for tab */ .tab-item i { display: block; - margin: 1px auto -3px auto; + margin: 0 auto; + height: 32px; font-size: 32px; } +.tabs-icon-left .tab-item, +.tabs-icon-right .tab-item { + font-size: 10px; } + .tabs-icon-left .tab-item i, + .tabs-icon-right .tab-item i { + font-size: 24px; + display: inline-block; + vertical-align: top; + line-height: 49px; } + +.tabs-icon-only i { + line-height: inherit; } + /* Navigational tab */ /* Active state for tab */ .tab-item.active, .tab-item:active { @@ -955,13 +968,6 @@ a.subdued‎ { .tab-item.active.tab-item-dark, .tab-item:active.tab-item-dark { color: #444444; } -/* Label for tab */ -.tab-label { - margin-top: 1px; - color: #fff; - font-weight: bold; - font-size: 10px; } - .menu { position: absolute; top: 0; diff --git a/dist/css/ionic-scoped.css b/dist/css/ionic-scoped.css index 17c54f9958..6b2122ae20 100644 --- a/dist/css/ionic-scoped.css +++ b/dist/css/ionic-scoped.css @@ -136,10 +136,8 @@ * * A navigation bar with any number of tab items supported. */ - /* Icon for tab */ /* Navigational tab */ /* Active state for tab */ - /* Label for tab */ /** * Modals are independent windows that slide in from off-screen. */ @@ -1756,6 +1754,7 @@ -webkit-box-orient: horizontal; -moz-box-orient: horizontal; background-color: white; + background-image: linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%); border-color: #dddddd; color: #333333; position: fixed; @@ -1767,39 +1766,56 @@ height: 49px; border-style: solid; border-top-width: 1px; - font-size: 16px; } + line-height: 49px; + background-size: 0; } .ionic .tabs.tabs-default { background-color: white; + background-image: linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%); border-color: #dddddd; color: #333333; } .ionic .tabs.tabs-secondary { background-color: whitesmoke; + background-image: linear-gradient(0deg, #bbbbbb, #bbbbbb 50%, transparent 50%); border-color: #bbbbbb; color: #333333; } .ionic .tabs.tabs-primary { background-color: #4a87ee; + background-image: linear-gradient(0deg, #3b6dc2, #3b6dc2 50%, transparent 50%); border-color: #3b6dc2; color: white; } .ionic .tabs.tabs-success { background-color: #66cc33; + background-image: linear-gradient(0deg, #5bb22f, #5bb22f 50%, transparent 50%); border-color: #5bb22f; color: white; } .ionic .tabs.tabs-info { background-color: #43cee6; + background-image: linear-gradient(0deg, #3bb3c8, #3bb3c8 50%, transparent 50%); border-color: #3bb3c8; color: white; } .ionic .tabs.tabs-warning { background-color: #f0b840; + background-image: linear-gradient(0deg, #d29f31, #d29f31 50%, transparent 50%); border-color: #d29f31; color: white; } .ionic .tabs.tabs-danger { background-color: #ef4e3a; + background-image: linear-gradient(0deg, #c73927, #c73927 50%, transparent 50%); border-color: #c73927; color: white; } .ionic .tabs.tabs-dark { background-color: #ef4e3a; + background-image: linear-gradient(0deg, #c73927, #c73927 50%, transparent 50%); border-color: #c73927; color: white; } + @media (min--moz-device-pixel-ratio: 1.5), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) { + .ionic .tabs { + padding-top: 2px; + border-top: none !important; + border-bottom: none !important; + background-position: top; + background-size: 100% 1px; + background-repeat: no-repeat; } } .ionic .tabs-top { top: 44px; } .ionic .tab-item { @@ -1809,7 +1825,6 @@ display: block; overflow: hidden; box-sizing: border-box; - padding-top: 4px; width: 0; height: 100%; color: inherit; @@ -1822,28 +1837,25 @@ font-family: "Helvetica Neue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif; opacity: 0.7; } .ionic .tabs-icon-top .tab-item, - .ionic .tabs-icon-right .tab-item, - .ionic .tabs-icon-bottom .tab-item, - .ionic .tabs-icon-left .tab-item { - position: relative; - padding-top: 0; - font-size: 10px; } - .ionic .tabs-icon-left .tab-item i { - position: absolute; - left: 4px; - display: flex; - height: 100%; - align-items: center; } - .ionic .tabs-icon-right .tab-item i { - position: absolute; - right: 4px; - display: flex; - height: 100%; - align-items: center; } + .ionic .tabs-icon-bottom .tab-item { + font-size: 10px; + line-height: 14px; } .ionic .tab-item i { display: block; - margin: 1px auto -3px auto; + margin: 0 auto; + height: 32px; font-size: 32px; } + .ionic .tabs-icon-left .tab-item, + .ionic .tabs-icon-right .tab-item { + font-size: 10px; } + .ionic .tabs-icon-left .tab-item i, + .ionic .tabs-icon-right .tab-item i { + font-size: 24px; + display: inline-block; + vertical-align: top; + line-height: 49px; } + .ionic .tabs-icon-only i { + line-height: inherit; } .ionic .tab-item.active, .ionic .tab-item:active { opacity: 1; } .ionic .tab-item.active.tab-item-default, .ionic .tab-item:active.tab-item-default { @@ -1860,11 +1872,6 @@ color: #f0b840; } .ionic .tab-item.active.tab-item-dark, .ionic .tab-item:active.tab-item-dark { color: #444444; } - .ionic .tab-label { - margin-top: 1px; - color: #fff; - font-weight: bold; - font-size: 10px; } .ionic .menu { position: absolute; top: 0; diff --git a/dist/css/ionic.css b/dist/css/ionic.css index ee8729909d..e1d2edf70d 100644 --- a/dist/css/ionic.css +++ b/dist/css/ionic.css @@ -2209,6 +2209,7 @@ a.subdued‎ { -webkit-box-orient: horizontal; -moz-box-orient: horizontal; background-color: white; + background-image: linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%); border-color: #dddddd; color: #333333; position: fixed; @@ -2220,39 +2221,56 @@ a.subdued‎ { height: 49px; border-style: solid; border-top-width: 1px; - font-size: 16px; } + line-height: 49px; + background-size: 0; } .tabs.tabs-default { background-color: white; + background-image: linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%); border-color: #dddddd; color: #333333; } .tabs.tabs-secondary { background-color: whitesmoke; + background-image: linear-gradient(0deg, #bbbbbb, #bbbbbb 50%, transparent 50%); border-color: #bbbbbb; color: #333333; } .tabs.tabs-primary { background-color: #4a87ee; + background-image: linear-gradient(0deg, #3b6dc2, #3b6dc2 50%, transparent 50%); border-color: #3b6dc2; color: white; } .tabs.tabs-success { background-color: #66cc33; + background-image: linear-gradient(0deg, #5bb22f, #5bb22f 50%, transparent 50%); border-color: #5bb22f; color: white; } .tabs.tabs-info { background-color: #43cee6; + background-image: linear-gradient(0deg, #3bb3c8, #3bb3c8 50%, transparent 50%); border-color: #3bb3c8; color: white; } .tabs.tabs-warning { background-color: #f0b840; + background-image: linear-gradient(0deg, #d29f31, #d29f31 50%, transparent 50%); border-color: #d29f31; color: white; } .tabs.tabs-danger { background-color: #ef4e3a; + background-image: linear-gradient(0deg, #c73927, #c73927 50%, transparent 50%); border-color: #c73927; color: white; } .tabs.tabs-dark { background-color: #ef4e3a; + background-image: linear-gradient(0deg, #c73927, #c73927 50%, transparent 50%); border-color: #c73927; color: white; } + @media (min--moz-device-pixel-ratio: 1.5), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) { + .tabs { + padding-top: 2px; + border-top: none !important; + border-bottom: none !important; + background-position: top; + background-size: 100% 1px; + background-repeat: no-repeat; } } .tabs-top { top: 44px; } @@ -2264,7 +2282,6 @@ a.subdued‎ { display: block; overflow: hidden; box-sizing: border-box; - padding-top: 4px; width: 0; height: 100%; color: inherit; @@ -2278,33 +2295,29 @@ a.subdued‎ { opacity: 0.7; } .tabs-icon-top .tab-item, -.tabs-icon-right .tab-item, -.tabs-icon-bottom .tab-item, -.tabs-icon-left .tab-item { - position: relative; - padding-top: 0; - font-size: 10px; } +.tabs-icon-bottom .tab-item { + font-size: 10px; + line-height: 14px; } -.tabs-icon-left .tab-item i { - position: absolute; - left: 4px; - display: flex; - height: 100%; - align-items: center; } - -.tabs-icon-right .tab-item i { - position: absolute; - right: 4px; - display: flex; - height: 100%; - align-items: center; } - -/* Icon for tab */ .tab-item i { display: block; - margin: 1px auto -3px auto; + margin: 0 auto; + height: 32px; font-size: 32px; } +.tabs-icon-left .tab-item, +.tabs-icon-right .tab-item { + font-size: 10px; } + .tabs-icon-left .tab-item i, + .tabs-icon-right .tab-item i { + font-size: 24px; + display: inline-block; + vertical-align: top; + line-height: 49px; } + +.tabs-icon-only i { + line-height: inherit; } + /* Navigational tab */ /* Active state for tab */ .tab-item.active, .tab-item:active { @@ -2324,13 +2337,6 @@ a.subdued‎ { .tab-item.active.tab-item-dark, .tab-item:active.tab-item-dark { color: #444444; } -/* Label for tab */ -.tab-label { - margin-top: 1px; - color: #fff; - font-weight: bold; - font-size: 10px; } - .menu { position: absolute; top: 0; diff --git a/scss/ionic/_mixins.scss b/scss/ionic/_mixins.scss index 798e200be3..67ee58ddac 100644 --- a/scss/ionic/_mixins.scss +++ b/scss/ionic/_mixins.scss @@ -91,6 +91,7 @@ @mixin tab-style($bgColor, $borderColor, $color) { background-color: $bgColor; + background-image: linear-gradient(0deg, $borderColor, $borderColor 50%, transparent 50%); border-color: $borderColor; color: $color; } diff --git a/scss/ionic/_tabs.scss b/scss/ionic/_tabs.scss index dc3027e037..7ffc89b5f2 100644 --- a/scss/ionic/_tabs.scss +++ b/scss/ionic/_tabs.scss @@ -19,7 +19,7 @@ border-style: solid; border-top-width: 1px; - font-size: 16px; + line-height: $tabs-height; &.tabs-default { @include tab-style($tabs-default-bg, $tabs-default-border-color, $gray-dark); @@ -45,6 +45,20 @@ &.tabs-dark { @include tab-style($tabs-danger-bg, $tabs-danger-border-color, $white); } + + background-size: 0; + @media (min--moz-device-pixel-ratio: 1.5), + (-webkit-min-device-pixel-ratio: 1.5), + (min-device-pixel-ratio: 1.5), + (min-resolution: 144dpi), + (min-resolution: 1.5dppx) { + padding-top: 2px; + border-top: none !important; + border-bottom: none !important; + background-position: top; + background-size: 100% 1px; + background-repeat: no-repeat; + } } .tabs-top { @@ -57,8 +71,6 @@ overflow: hidden; box-sizing: border-box; - padding-top: 4px; - // Required to force box elements to be the same size; width: 0; height: 100%; @@ -72,44 +84,39 @@ white-space: nowrap; font-weight: 400; - font-size: 14px; + font-size: $tabs-text-font-size; font-family: $light-sans-font-family; opacity: 0.7; } .tabs-icon-top .tab-item, -.tabs-icon-right .tab-item, -.tabs-icon-bottom .tab-item, -.tabs-icon-left .tab-item { - position: relative; - padding-top: 0; - font-size: 10px; +.tabs-icon-bottom .tab-item { + font-size: $tabs-text-with-icon-font-size; + line-height: $tabs-text-font-size; } -.tabs-icon-left .tab-item i { - position: absolute; - left: 4px; - display: flex; - height: 100%; - align-items: center; -} - -.tabs-icon-right .tab-item i { - position: absolute; - right: 4px; - display: flex; - height: 100%; - align-items: center; -} - -/* Icon for tab */ .tab-item i { display: block; - margin: 1px auto -3px auto; + margin: 0 auto; + height: $tabs-icon-size; font-size: $tabs-icon-size; } +.tabs-icon-left .tab-item, +.tabs-icon-right .tab-item { + font-size: $tabs-text-with-icon-font-size; + i { + font-size: $tabs-icon-size - 8; + display: inline-block; + vertical-align: top; + line-height: $tabs-height; + } +} + +.tabs-icon-only i { + line-height: inherit; +} /* Navigational tab */ @@ -140,11 +147,3 @@ } } -/* Label for tab */ -.tab-label { - margin-top: 1px; - color: #fff; - font-weight: bold; - font-size: 10px; -} - diff --git a/scss/ionic/_variables.scss b/scss/ionic/_variables.scss index 1ef94af79e..7536ea7ee4 100644 --- a/scss/ionic/_variables.scss +++ b/scss/ionic/_variables.scss @@ -312,32 +312,34 @@ $bar-dark-border-color: $button-dark-border; // Tabs // ------------------------------- -$tabs-height: 49px !default; -$tabs-icon-size: 32px !default; +$tabs-height: 49px !default; +$tabs-text-font-size: 14px !default; +$tabs-text-with-icon-font-size: 10px !default; +$tabs-icon-size: 32px !default; -$tabs-default-bg: $brand-default; -$tabs-default-border-color: $button-default-border; +$tabs-default-bg: $brand-default; +$tabs-default-border-color: $button-default-border; -$tabs-secondary-bg: $brand-secondary; -$tabs-secondary-border-color: $button-secondary-border; +$tabs-secondary-bg: $brand-secondary; +$tabs-secondary-border-color: $button-secondary-border; -$tabs-primary-bg: $brand-primary; -$tabs-primary-border-color: $button-primary-border; +$tabs-primary-bg: $brand-primary; +$tabs-primary-border-color: $button-primary-border; -$tabs-info-bg: $brand-info; -$tabs-info-border-color: $button-info-border; +$tabs-info-bg: $brand-info; +$tabs-info-border-color: $button-info-border; -$tabs-success-bg: $brand-success; -$tabs-success-border-color: $button-success-border; +$tabs-success-bg: $brand-success; +$tabs-success-border-color: $button-success-border; -$tabs-warning-bg: $brand-warning; -$tabs-warning-border-color: $button-warning-border; +$tabs-warning-bg: $brand-warning; +$tabs-warning-border-color: $button-warning-border; -$tabs-danger-bg: $brand-danger; -$tabs-danger-border-color: $button-danger-border; +$tabs-danger-bg: $brand-danger; +$tabs-danger-border-color: $button-danger-border; -$tabs-dark-bg: $brand-dark; -$tabs-dark-border-color: $button-dark-border; +$tabs-dark-bg: $brand-dark; +$tabs-dark-border-color: $button-dark-border; // Lists diff --git a/test/tab-bars-icons-right.html b/test/tab-bars-icons-right.html index ad7e46c5a6..4b81203131 100644 --- a/test/tab-bars-icons-right.html +++ b/test/tab-bars-icons-right.html @@ -30,24 +30,24 @@ diff --git a/test/tab-bars-only-icons.html b/test/tab-bars-only-icons.html index 79245b8894..d975106016 100644 --- a/test/tab-bars-only-icons.html +++ b/test/tab-bars-only-icons.html @@ -28,7 +28,7 @@ -