首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Ionic 5应用程序添加自定义主题?

如何为Ionic 5应用程序添加自定义主题?
EN

Stack Overflow用户
提问于 2020-04-23 09:37:49
回答 1查看 1.8K关注 0票数 1

我需要添加自定义主题到Ionic 5应用程序。我试图在variables.scss中添加红色主题

代码语言:javascript
复制
@media (prefers-color-scheme: red) {
  :root {
    --ion-color-primary: red;

然后我尝试通过index.html初始化它

代码语言:javascript
复制
 <meta name="color-scheme" content="red" />

但这不管用。我还尝试从https://ionicframework.com/docs/theming/advanced中添加javascript代码。

是否可以通过添加新的主、次和三级颜色,然后在运行时更改它们来主题您的Ionic应用程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-23 13:52:40

您只能对darklight主题使用dark媒体查询。

要向Ionic添加一个新的自定义主题,只需为其创建一个新的CSS类,并在此CSS规则下覆盖每个颜色变量:

variables.scss

代码语言:javascript
复制
body.red {
  --ion-color-primary: red;
  /*...*/
}

您可以使用彩色发生器步进彩色发生器生成其余的颜色。最后,您可能需要调整一些特定的颜色变量,如--ion-toolbar-background等,对于iosmd模式,您可以查看默认深色,从那里复制和编辑其余的颜色。

之后,您可以创建一个按钮,该按钮可以在body元素上切换.red类,还可以将首选主题存储在localStorage中,或者在应用程序加载时使用cookie并切换该类:

main.ts

代码语言:javascript
复制
const theme = localStorage.getItem('theme')

document.body.classList.toggle('red', theme === 'red')
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61383984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档