如何自定义ionic 4侧面菜单?

时间:2019-01-17 21:02:44

标签: css angular ionic-framework

在尝试自定义离子自动生成的侧面菜单时遇到麻烦。

侧面菜单位于“ app.component.html”,看起来像这样:

 <ion-app>


    <ion-menu contentId="content1" side="start" >
      <ion-header >
        <ion-toolbar >
          <ion-avatar>
            <img [src]="image">
          </ion-avatar>
          <ion-title>Menu</ion-title>
        </ion-toolbar>
      </ion-header>



      <ion-content >
        <ion-list >
          <ion-menu-toggle auto-hide="false" *ngFor="let p of appPages" >
            <ion-item [routerDirection]="'root'" [routerLink]="[p.url]" (click)="dembow(p)" >
              <ion-icon slot="start" [name]="p.icon"></ion-icon>
              <ion-label>
                {{p.title}}
              </ion-label>
            </ion-item>
          </ion-menu-toggle>
        </ion-list>
      </ion-content>
    </ion-menu>
    <ion-router-outlet id="content1" main ></ion-router-outlet>

</ion-app>

我尝试使用属性“ style:background-color:#000000”等更改样式,并且如果我将其放置在每个元素上都可以使用,但是我想知道是否有一些更简单有效的方法自定义菜单的方式。

谢谢你的团队!

2 个答案:

答案 0 :(得分:2)

 <ion-content class="abc">

  </ion-content>

使用内容类以这种方式更改背景:它可以工作.....

 .abc {

--background: var(--ion-background-color,linear-gradient(to  left,#E67D22, #1C4577)) !important;

}

或仅使用颜色而不是渐变

 .abc {

--background: var(--ion-background-color,red) !important;

}

答案 1 :(得分:0)

您需要了解的第一件事是离子'<< em> ion-content >','<< em> ion-list >'是指令。您可以使用CSS操纵这些指令的模板设计。

例如。

在HTML-

<div class="side-nav-menu"> <!--wrap side menu in div tag and give class to it-->
<ion-content >
    <ion-list >
       <ion-menu-toggle auto-hide="false" *ngFor="let p of appPages" >
          <ion-item [routerDirection]="'root'" [routerLink]="[p.url]" (click)="dembow(p)" >
              <ion-icon slot="start" [name]="p.icon"></ion-icon>
              <ion-label>
                 {{p.title}}
              </ion-label>
          </ion-item>
        </ion-menu-toggle>
    </ion-list>
</ion-content>
</div>

在应用程序的全局css文件中,即app.scss

.side-nav-menu{
    //add style if you want any...for eg border, shadow.etc
}
.side-nav-menu .ion-item{
    //style for ion-item    
}

注意:-请记住,指令(属性)名称也是同一指令的类名称。例如如果指令名称为ion-item,并且您想要向此指令添加自定义css,则必须在全局scss文件中使用.ion-item类添加css