ionic 2 中的菜单
Menu in ionic 2
美好的一天。
你能用 ionic 2 中的菜单组件向我解释一件事吗?
我写了这段代码:
<ion-menu [content]="content">
<ion-toolbar>
<ion-title>Menu</ion-title>
</ion-toolbar>
<ion-content>
<ion-list>
<button ion-item (click)="open(profileRoot)">Profile</button>
<button ion-item (click)="open(farmPage)">Farms</button>
<button ion-item (click)="open(feedsRoot)">Feeds</button>
<button ion-item (click)="open(calculatorRoot)">Calculator</button>
</ion-list>
</ion-content>
</ion-menu>
<ion-nav id="nav" #content [root]="calculatorRoot"></ion-nav>
在每个组件中我都有这个代码:
<ion-navbar *navbar>
<ion-buttons start>
<button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
</ion-buttons>
<ion-title>Profile</ion-title>
</ion-navbar>
<ion-content class="calculator-page">
Profile
</ion-content>
但是,问题是 - 菜单图标出现在 iOS 上,它应该出现在左侧,但在 android 设备上它出现在右侧。
有人可以解释为什么会这样吗?
这是因为 css 与 Android 和 iOS 不同。
如果您检查 <ion-buttons>
,您将看到:
- 对于Android
ion-buttons {
order: 4;
}
- 对于iOS
ion-buttons {
order: 3;
}
这是FLEX订单,决定按钮的位置。
如果你想在 iOS 和 Android 上有相同的位置,你应该在你的 app.md.scss
中写:
ion-buttons {
order: 3;
}
Ionic2 Android md 主题不包含 .ion-button[start]
的设置,尽管它包含 .ion-button[end]
.
的设置
我发现使用 left
(和 right
)属性按预期工作,所以只需将 <ion-buttons start>
更改为 <ion-buttons left>
:
<ion-navbar *navbar>
<ion-buttons left>
<button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
</ion-buttons>
<ion-title>Profile</ion-title>
</ion-navbar>
<ion-content class="calculator-page">
Profile
</ion-content>
我没有看到关于何时使用 start/end 与 left/right 的文档。虽然直接在 css 中覆盖 flex order 将在您的特定情况下起作用,但它 可能 导致应用程序其余部分中的按钮乱序。
美好的一天。 你能用 ionic 2 中的菜单组件向我解释一件事吗? 我写了这段代码:
<ion-menu [content]="content">
<ion-toolbar>
<ion-title>Menu</ion-title>
</ion-toolbar>
<ion-content>
<ion-list>
<button ion-item (click)="open(profileRoot)">Profile</button>
<button ion-item (click)="open(farmPage)">Farms</button>
<button ion-item (click)="open(feedsRoot)">Feeds</button>
<button ion-item (click)="open(calculatorRoot)">Calculator</button>
</ion-list>
</ion-content>
</ion-menu>
<ion-nav id="nav" #content [root]="calculatorRoot"></ion-nav>
在每个组件中我都有这个代码:
<ion-navbar *navbar>
<ion-buttons start>
<button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
</ion-buttons>
<ion-title>Profile</ion-title>
</ion-navbar>
<ion-content class="calculator-page">
Profile
</ion-content>
但是,问题是 - 菜单图标出现在 iOS 上,它应该出现在左侧,但在 android 设备上它出现在右侧。 有人可以解释为什么会这样吗?
这是因为 css 与 Android 和 iOS 不同。
如果您检查 <ion-buttons>
,您将看到:
- 对于Android
ion-buttons {
order: 4;
}
- 对于iOS
ion-buttons {
order: 3;
}
这是FLEX订单,决定按钮的位置。
如果你想在 iOS 和 Android 上有相同的位置,你应该在你的 app.md.scss
中写:
ion-buttons {
order: 3;
}
Ionic2 Android md 主题不包含 .ion-button[start]
的设置,尽管它包含 .ion-button[end]
.
我发现使用 left
(和 right
)属性按预期工作,所以只需将 <ion-buttons start>
更改为 <ion-buttons left>
:
<ion-navbar *navbar>
<ion-buttons left>
<button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
</ion-buttons>
<ion-title>Profile</ion-title>
</ion-navbar>
<ion-content class="calculator-page">
Profile
</ion-content>
我没有看到关于何时使用 start/end 与 left/right 的文档。虽然直接在 css 中覆盖 flex order 将在您的特定情况下起作用,但它 可能 导致应用程序其余部分中的按钮乱序。