Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 离子4:离子项目背景透明没有效果_Css_Angular_Ionic Framework_Sass_Ionic4 - Fatal编程技术网

Css 离子4:离子项目背景透明没有效果

Css 离子4:离子项目背景透明没有效果,css,angular,ionic-framework,sass,ionic4,Css,Angular,Ionic Framework,Sass,Ionic4,我知道,有很多这样的主题,但不幸的是,没有一种方法适合我,我可以将离子项目的背景色设置为透明 侧菜单.component.ts <ion-menu side="start" menuId="first" contentId="main" class="custom-bg"> <ion-header> <ion-toolbar> <ion-title>{{env.appName}}</ion-title&

我知道,有很多这样的主题,但不幸的是,没有一种方法适合我,我可以将离子项目的背景色设置为透明

侧菜单.component.ts

<ion-menu side="start" menuId="first" contentId="main" class="custom-bg">
    <ion-header>
        <ion-toolbar>
        <ion-title>{{env.appName}}</ion-title>
        </ion-toolbar>
    </ion-header>
    <ion-content>
        <ion-list>
            <ion-menu-toggle auto-hide="true">
                <ion-item *ngFor="let item of navItems" [routerLink]="item.url" routerDirection="forward">
                    <ion-icon [name]="item.icon" slot="start"></ion-icon>
                    <ion-label>{{item.title}}</ion-label>
                </ion-item>
            </ion-menu-toggle>
        </ion-list>
    </ion-content>
</ion-menu>
ion-toolbar,
ion-content,
ion-item {
    --background: transparent;
    --color: var(--ion-color-primary-contrast);
}

.custom-bg {
    --background: red;
}
结果:

我没有主意了,该试试什么。请注意,如果我将离子项的--background属性设置为常规颜色,则一切都会按预期工作。对我来说,似乎有另一个白色背景的元素,而不仅仅是离子

注意:我可以通过上的DevTools重现这种奇怪的行为,如果将离子项目背景也设置为透明,则在示例上添加离子内容的背景将不会显示出来


这里的任何人都有一个想法,那里发生了什么事?

根据爱奥尼亚的官方文件:[

每种颜色都由以下属性组成:
base
contrast
shade
tint
。底色和对比色还需要rgb属性,该属性的颜色相同,只是rgb格式。有关为什么还需要rgb属性的解释,请参阅Alpha问题

要添加新颜色,首先在根位置为颜色的所有变体定义CSS变量。例如,要添加名为favorite的新颜色,我们可以定义以下变量:

:root {
  --ion-color-favorite: #69bb7b;
  --ion-color-favorite-rgb: 105,187,123;
  --ion-color-favorite-contrast: #ffffff;
  --ion-color-favorite-contrast-rgb: 255,255,255;
  --ion-color-favorite-shade: #5ca56c;
  --ion-color-favorite-tint: #78c288;
}
然后,创建一个使用这些CSS变量的新类。该类必须以
.ion color-{color}
格式编写,其中
{color}
是要添加的颜色的名称:

.ion-color-favorite {
  --ion-color-base: var(--ion-color-favorite);
  --ion-color-base-rgb: var(--ion-color-favorite-rgb);
  --ion-color-contrast: var(--ion-color-favorite-contrast);
  --ion-color-contrast-rgb: var(--ion-color-favorite-contrast-rgb);
  --ion-color-shade: var(--ion-color-favorite-shade);
  --ion-color-tint: var(--ion-color-favorite-tint);
}
添加类后,颜色可以用于任何支持颜色属性的Ionic组件。下面是在Ionic按钮上使用收藏夹颜色的示例

<ion-button color="favorite">Favorite</ion-button>
最爱

您可以根据爱奥尼亚官方文档为透明创建类似的自定义颜色:[

每种颜色都由以下属性组成:
base
contrast
shade
tint
。底色和对比色还需要rgb属性,该属性的颜色相同,只是rgb格式。有关为什么还需要rgb属性的解释,请参阅Alpha问题

要添加新颜色,首先在根位置为颜色的所有变体定义CSS变量。例如,要添加名为favorite的新颜色,我们可以定义以下变量:

:root {
  --ion-color-favorite: #69bb7b;
  --ion-color-favorite-rgb: 105,187,123;
  --ion-color-favorite-contrast: #ffffff;
  --ion-color-favorite-contrast-rgb: 255,255,255;
  --ion-color-favorite-shade: #5ca56c;
  --ion-color-favorite-tint: #78c288;
}
然后,创建一个使用这些CSS变量的新类。该类必须以
.ion color-{color}
格式编写,其中
{color}
是要添加的颜色的名称:

.ion-color-favorite {
  --ion-color-base: var(--ion-color-favorite);
  --ion-color-base-rgb: var(--ion-color-favorite-rgb);
  --ion-color-contrast: var(--ion-color-favorite-contrast);
  --ion-color-contrast-rgb: var(--ion-color-favorite-contrast-rgb);
  --ion-color-shade: var(--ion-color-favorite-shade);
  --ion-color-tint: var(--ion-color-favorite-tint);
}
添加类后,颜色可以用于任何支持颜色属性的Ionic组件。下面是在Ionic按钮上使用收藏夹颜色的示例

<ion-button color="favorite">Favorite</ion-button>
最爱

您可以为透明创建类似的自定义颜色更新:

终于找到了导致这种奇怪行为的原因。看起来离子列表上的.list是罪魁祸首。

这对我来说是个好办法:

ion-list {
    background: transparent;

    ion-item {
        --background: inherit;
    }
}

更新:

终于找到了导致这种奇怪行为的原因。看起来离子列表上的.list是罪魁祸首。

这对我来说是个好办法:

ion-list {
    background: transparent;

    ion-item {
        --background: inherit;
    }
}

你能试试吗?--离子色基:透明!重要;替代品对我产生同样的行为……你能试试吗?--离子色基:透明!重要;替代品对我产生同样的行为……我知道在离子中定义自定义颜色的概念。我昨天已经尝试过这种方法了。不幸的是,这没有成功“没有解决我的问题。@F.Geißler可以尝试在组件上设置
封装:ViewEncapsulation.None,
。我知道在Ionic中定义自定义颜色的概念。我昨天已经尝试过这种方法。不幸的是,这没有解决我的问题。@F.Geißler可以尝试设置
封装:ViewEncapsulation.N一个,
在您的组件上。ts