【发布时间】:2019-03-05 23:19:17
【问题描述】:
我有一个 Ionic 4 应用程序,我想要一个透明的标题。离子文档指出必须将“全屏”添加到离子内容中,并且必须将“半透明”添加到离子工具栏。
这不起作用,并且总是将工具栏留在顶部。我也将此添加到 css 中:
ion-toolbar {
--background: transparent;
--ion-color-base: transparent !important;
}
<ion-header>
<ion-toolbar translucent >
<ion-buttons slot="start" (click)="goBack()">
<ion-icon name="arrow-back"></ion-icon>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content fullscreen >
</ion-content>
我能找到实现透明标题效果的唯一方法是当我转到 chrome 中的 Shadow DOM 并向类“inner-scroll”添加背景属性时
但是在这个类中没有与背景颜色相关的变量,所以我不能用这个方法改变背景。
我怎样才能使这个透明的标题/工具栏工作!?
解决方案:
对于遇到此问题的其他人 - 文档根本不清楚。要获得完全透明的功能标头:
<ion-header>
<ion-toolbar translucent>
<ion-back-button></ion-back-button>
</ion-toolbar>
</ion-header>
<ion-content fullscreen> </ion-content>
没有在css中添加以下内容:
ion-toolbar {
--ion-toolbar-background-color: transparent;
--ion-toolbar-text-color: white;
}
文档只指定了 HTML 方面,但在 Ionic 中使用新的 Shadow DOM,必须使用变量来更改大多数 Ionic 组件样式。
【问题讨论】:
-
嘿,你能解释一下你想要实现的用户体验是什么 - 你希望标题具有透明背景但仍然能够看到按钮标题等或什么?
-
应该是
--ion-background-color,而不是--ion-toolbar-background-color,正因为这个变化,我一直在苦苦挣扎,现在一切都到位了! :) -
还将--ion-toolbar-text-color替换为--ion-toolbar-color
-
该解决方案在 Ionic 5 中不起作用。我有一个适用于 Ionic 4 的解决方案,但不知道适用于 ionic 5。
标签: angular ionic-framework ionic4