mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 12:29:55 +08:00
tab icons
This commit is contained in:
@ -50,7 +50,6 @@
|
||||
"../button/extensions/ios",
|
||||
"../card/extensions/ios",
|
||||
"../checkbox/extensions/ios",
|
||||
"../content/extensions/ios",
|
||||
"../list/extensions/ios",
|
||||
"../item/extensions/ios",
|
||||
"../radio/extensions/ios",
|
||||
|
@ -51,6 +51,7 @@ $button-small-icon-size: 2.1rem !default;
|
||||
|
||||
outline: none;
|
||||
cursor: pointer;
|
||||
@include user-select(none);
|
||||
|
||||
&:after {
|
||||
// used to create a larger button "hit" area
|
||||
|
@ -1,10 +0,0 @@
|
||||
|
||||
// iOS Content
|
||||
// --------------------------------------------------
|
||||
|
||||
$content-ios-background-color: #efeff4 !default;
|
||||
|
||||
|
||||
.view-ios .pane-container {
|
||||
background-color: $content-ios-background-color;
|
||||
}
|
@ -10,12 +10,13 @@ import {IonicComponent} from 'ionic2/config/component'
|
||||
@Template({
|
||||
inline: `
|
||||
<div class="toolbar tab-bar toolbar-ios toolbar-bottom">
|
||||
<div class="tab-bar-content">
|
||||
<div class="tab-bar-container">
|
||||
<a *for="#tab of tabs"
|
||||
class="tab-bar-item tab-active"
|
||||
class="tab-bar-item tab-active"
|
||||
[class.active]="tab.isSelected"
|
||||
(click)="onClickTabItem($event, tab)">
|
||||
{{tab.title}}
|
||||
(^click)="onClickTabItem($event, tab)">
|
||||
<icon class="tab-bar-item-icon ion-home"></icon>
|
||||
<span class="tab-bar-item-text">{{tab.title}}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,23 +2,79 @@
|
||||
// Tabs
|
||||
// --------------------------------------------------
|
||||
|
||||
$tab-bar-item-padding: 10px !default;
|
||||
$tab-bar-item-min-width: 100px !default;
|
||||
|
||||
.tabs {
|
||||
|
||||
}
|
||||
|
||||
.toolbar.tab-bar {
|
||||
@include flex-justify-content(center);
|
||||
}
|
||||
|
||||
.tab-bar-content {
|
||||
.tab-bar-container {
|
||||
@include flex-display();
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.tab-bar-item {
|
||||
@include flex-display();
|
||||
@include flex-justify-content(center);
|
||||
@include flex-direction(column);
|
||||
@include flex(1);
|
||||
min-width: 100px;
|
||||
@include flex-align-self(center);
|
||||
|
||||
padding: $tab-bar-item-padding;
|
||||
min-width: $tab-bar-item-min-width;
|
||||
text-align: center;
|
||||
|
||||
cursor: pointer;
|
||||
@include user-select(none);
|
||||
}
|
||||
|
||||
.tab-bar-icon-bottom .tab-bar-item {
|
||||
.tab-bar-item-icon {
|
||||
@include flex-order(10);
|
||||
}
|
||||
}
|
||||
|
||||
.tab-bar-icon-left .tab-bar-item {
|
||||
@include flex-direction(row);
|
||||
|
||||
.tab-bar-item-icon {
|
||||
text-align: right;
|
||||
padding-right: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.tab-bar-icon-right .tab-bar-item {
|
||||
@include flex-direction(row);
|
||||
|
||||
.tab-bar-item-icon {
|
||||
@include flex-order(10);
|
||||
text-align: left;
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.tab-bar-item-text,
|
||||
.tab-bar-item-icon {
|
||||
@include flex-align-self(center);
|
||||
|
||||
min-width: 26px;
|
||||
max-width: 100%;
|
||||
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.tab-bar-icon-only .tab-bar-item-text,
|
||||
.tab-bar-text-only .tab-bar-item-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-bar-item:hover {
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.tab-bar-item.active {
|
||||
|
@ -1,4 +1,4 @@
|
||||
<ion-view view-title="Tabs">
|
||||
<ion-view>
|
||||
<ion-tabs>
|
||||
<ion-tab [initial]="tab1Initial" tab-title="Tab 1">
|
||||
</ion-tab>
|
||||
|
@ -22,7 +22,7 @@ export class TabsPage {
|
||||
//
|
||||
@Component({ selector: 't1p1' })
|
||||
@Template({
|
||||
inline: '<ion-view>Tab 1 Page 1.<br/><br/><button (click)="next()">Next</button></ion-view>',
|
||||
inline: '<ion-view nav-title="Tab 1 Page 1">Tab 1 Page 1.<br/><br/><button (click)="next()">Next</button></ion-view>',
|
||||
directives: [View]
|
||||
})
|
||||
class Tab1Page1 {
|
||||
@ -36,7 +36,7 @@ class Tab1Page1 {
|
||||
|
||||
@Component({ selector: 't1p2' })
|
||||
@Template({
|
||||
inline: '<ion-view>Tab 1<br/>Page 2.<br/></br><button (click)="pop()">Pop</button></ion-view>',
|
||||
inline: '<ion-view nav-title="Tab 1 Page 2">Tab 1<br/>Page 2.<br/></br><button (click)="pop()">Pop</button></ion-view>',
|
||||
directives: [View]
|
||||
})
|
||||
class Tab1Page2 {
|
||||
@ -50,7 +50,7 @@ class Tab1Page2 {
|
||||
//
|
||||
@Component({ selector: 't2p1' })
|
||||
@Template({
|
||||
inline: '<ion-view><br/><br/>Tab 2 Page 1. <button (click)="next()">Next</button></ion-view>',
|
||||
inline: '<ion-view nav-title="Tab 2 Page 1"><br/><br/>Tab 2 Page 1. <button (click)="next()">Next</button></ion-view>',
|
||||
directives: [View]
|
||||
})
|
||||
class Tab2Page1 {
|
||||
@ -64,7 +64,7 @@ class Tab2Page1 {
|
||||
|
||||
@Component({ selector: 't2p2' })
|
||||
@Template({
|
||||
inline: '<ion-view><br/><br/>Tab 2<br/>Page 2. <button (click)="pop()">Pop</button></ion-view>',
|
||||
inline: '<ion-view nav-title="Tab 2 Page 2"><br/><br/>Tab 2<br/>Page 2. <button (click)="pop()">Pop</button></ion-view>',
|
||||
directives: [View]
|
||||
})
|
||||
class Tab2Page2 {
|
||||
|
1
src/components/tabs/test/tab-bar-icons/e2e.js
Normal file
1
src/components/tabs/test/tab-bar-icons/e2e.js
Normal file
@ -0,0 +1 @@
|
||||
|
112
src/components/tabs/test/tab-bar-icons/main.html
Normal file
112
src/components/tabs/test/tab-bar-icons/main.html
Normal file
@ -0,0 +1,112 @@
|
||||
|
||||
<div style="margin: 4px 0">
|
||||
|
||||
<h6>Icon Top of Text (Default)</h6>
|
||||
<div class="toolbar tab-bar toolbar-ios toolbar-bottom">
|
||||
<div class="tab-bar-container">
|
||||
<a class="tab-bar-item active">
|
||||
<icon class="tab-bar-item-icon ion-home"></icon>
|
||||
<span class="tab-bar-item-text">Home</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-star"></icon>
|
||||
<span class="tab-bar-item-text">Favorites Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-ios-gear"></icon>
|
||||
<span class="tab-bar-item-text">Settings Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h6>Icon Bottom of Text</h6>
|
||||
<div class="toolbar tab-bar toolbar-ios toolbar-bottom">
|
||||
<div class="tab-bar-container tab-bar-icon-bottom">
|
||||
<a class="tab-bar-item active">
|
||||
<icon class="tab-bar-item-icon ion-home"></icon>
|
||||
<span class="tab-bar-item-text">Home</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-star"></icon>
|
||||
<span class="tab-bar-item-text">Favorites Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-ios-gear"></icon>
|
||||
<span class="tab-bar-item-text">Settings Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h6>Icon Left of Text</h6>
|
||||
<div class="toolbar tab-bar toolbar-ios toolbar-bottom">
|
||||
<div class="tab-bar-container tab-bar-icon-left">
|
||||
<a class="tab-bar-item active">
|
||||
<icon class="tab-bar-item-icon ion-home"></icon>
|
||||
<span class="tab-bar-item-text">Home</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-star"></icon>
|
||||
<span class="tab-bar-item-text">Favorites Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-ios-gear"></icon>
|
||||
<span class="tab-bar-item-text">Settings Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h6>Icon Right of Text</h6>
|
||||
<div class="toolbar tab-bar toolbar-ios toolbar-bottom">
|
||||
<div class="tab-bar-container tab-bar-icon-right">
|
||||
<a class="tab-bar-item active">
|
||||
<icon class="tab-bar-item-icon ion-home"></icon>
|
||||
<span class="tab-bar-item-text">Home</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-star"></icon>
|
||||
<span class="tab-bar-item-text">Favorites Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-ios-gear"></icon>
|
||||
<span class="tab-bar-item-text">Settings Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h6>Icon Only</h6>
|
||||
<div class="toolbar tab-bar toolbar-ios toolbar-bottom">
|
||||
<div class="tab-bar-container tab-bar-icon-only">
|
||||
<a class="tab-bar-item active">
|
||||
<icon class="tab-bar-item-icon ion-home"></icon>
|
||||
<span class="tab-bar-item-text">Home</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-star"></icon>
|
||||
<span class="tab-bar-item-text">Favorites Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-ios-gear"></icon>
|
||||
<span class="tab-bar-item-text">Settings Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h6>Text Only</h6>
|
||||
<div class="toolbar tab-bar toolbar-ios toolbar-bottom">
|
||||
<div class="tab-bar-container tab-bar-text-only">
|
||||
<a class="tab-bar-item active">
|
||||
<icon class="tab-bar-item-icon ion-home"></icon>
|
||||
<span class="tab-bar-item-text">Home</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-star"></icon>
|
||||
<span class="tab-bar-item-text">Favorites Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
<a class="tab-bar-item">
|
||||
<icon class="tab-bar-item-icon ion-ios-gear"></icon>
|
||||
<span class="tab-bar-item-text">Settings Ellipsis Ellipsis</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
15
src/components/tabs/test/tab-bar-icons/main.js
Normal file
15
src/components/tabs/test/tab-bar-icons/main.js
Normal file
@ -0,0 +1,15 @@
|
||||
import {bootstrap} from 'angular2/core';
|
||||
import {Component, Template} from 'angular2/angular2';
|
||||
|
||||
|
||||
@Component({ selector: '[ion-app]' })
|
||||
@Template({
|
||||
url: 'main.html'
|
||||
})
|
||||
class IonicApp {
|
||||
constructor() {
|
||||
console.log('IonicApp Start')
|
||||
}
|
||||
}
|
||||
|
||||
bootstrap(IonicApp)
|
Reference in New Issue
Block a user