如何设置背景颜色IONIC 4

Kev*_*hez 28 ionic-framework angular ionic4

我在尝试仅在一个IONIC 4(--type = angular)页面中更改背景颜色时遇到问题.我正在尝试为离子内容添加一个类.在我的html文件中我有:

<ion-content class="fondologin">
...
</ion-content>
Run Code Online (Sandbox Code Playgroud)

在我的sass中我有:

.fondologin{
    background-color: #111D12!important;
}
Run Code Online (Sandbox Code Playgroud)

背景颜色永远不会改变.如果我添加--ion-background-color:#111D12; 在variables.scss中,每个页面都成功更改了背景,但我只想更改一页中的颜色.我怎样才能做到这一点?

Kev*_*hez 56

出于某种原因,我这样解决了:

首先,我在主题文件夹中添加--ion-background-color:#ffffff;了variables.scss文件.

在我的Page scss中,我写道:

ion-content{

    --ion-background-color:#111D12;
}
Run Code Online (Sandbox Code Playgroud)

之后,背景成功了.

  • 您不再需要将其添加到 variables.scss 中。 (6认同)

小智 15

我将重新发布评论最多的答案,并附上额外的说明

ion-content{
    --ion-background-color:#111D12;
}
Run Code Online (Sandbox Code Playgroud)

从离子4开始,Ionic组件实现了shadowDOM的概念,而在实现shadowDOM的组件中查找css选择器的旧方法不再起作用

因此,只有在更改组件引用的变量时才能进行任何修改

例如,如果离子含量参考

--ion-background-color: #ffffff
Run Code Online (Sandbox Code Playgroud)

修改背景颜色的唯一方法是在CSS文件中执行此操作

ion-content{
    --ion-background-color:#111D12;
}
Run Code Online (Sandbox Code Playgroud)


Dev*_*ner 10

截至 2020 年 3 月,使用 Ionic 5,以下是唯一似乎可以在不干扰其他元素的背景颜色的情况下工作的解决方案。将以下代码放在 variables.scss 文件中:

工作解决方案:

ion-content {
  --background: var(--ion-color-primary); // Replace this with color of your choice
}
Run Code Online (Sandbox Code Playgroud)

以下解决方案在 Ionic 5 中似乎无法正常工作。

示例 1:

ion-content {
  --ion-background-color: var(--ion-color-primary);
}
Run Code Online (Sandbox Code Playgroud)

问题面临:使用上述代码还将列表项、离子卡等的背景颜色更改为原色。所以这让他们看起来很丑!

示例 2:

ion-content {
  background-color: var(--ion-color-primary);
}
Run Code Online (Sandbox Code Playgroud)

问题面临:使用上述内容根本不应用背景颜色!

示例 3:

ion-content {
  background: var(--ion-color-primary) !important;
}
Run Code Online (Sandbox Code Playgroud)

问题面临:使用上述内容根本不应用背景颜色!


use*_*454 8

您可以这样使用...在我的页面上效果很好。

ion-content{
    --background: #fff url('../../assets/imgs/intro.png') no-repeat center center / cover;
}
Run Code Online (Sandbox Code Playgroud)

希望对您有所帮助:)


Gha*_*hir 6

在 My Variables.scss 文件中,我编写了此代码,然后将其应用于每个文件。

 ion-content{
    --background:#f9f9f9;
 }
Run Code Online (Sandbox Code Playgroud)