【问题标题】:PrimeNG Menubar Angular StylingPrimeNG 菜单栏角度样式
【发布时间】:2020-03-03 21:11:40
【问题描述】:

我正在使用 primeng 4.3.0 和 Angular 4 开发一个项目,并且正在为我的其他页面创建一个水平菜单。我无法更改这些版本,所以这是问题:

我正在使用菜单栏并尝试使用 ng-deep 更改它的颜色(因为没有其他方法可以更改它)。我读到访问子菜单的颜色是创建一个新类并调用 ul li:nth-child 并且每个孩子都有一个数字,因此您可以更改它。问题是:

1) 对于第一个子菜单,我只创建了两个项目,而为第二个项目创建了 5。当我调用 ul li:nth-child(3) 时,它会在第一个子菜单上创建一个新行,如图所示。

2)第一个和第二个子菜单顶部有一条白色的边框线,我无法摆脱它。

我做错了什么还是一个错误?这是代码和图像:

模板:

<section>
  <div id="menu-box2">
    <div class="container">
      <div class="row">
        <div class="col-12">
          <p-menubar #menu [model]="items" styleClass="menucus">
          </p-menubar>
        </div>
      </div>
    </div>
  </div>
</section>

TS:

import { Component, OnInit } from '@angular/core';
import { MenuItem } from 'primeng/primeng';

@Component({
  selector: 'app-report-base-page',
  templateUrl: './report-base-page.component.html',
  styleUrls: ['./report-base-page.component.scss']
})
export class ReportBasePageComponent implements OnInit {
  private items: MenuItem[];
  constructor() { }

  ngOnInit() {
    this.items = [
      {
        label: 'Riconciliazioni',
        items: [
          {
            label: 'Nexi',
            routerLink: ['/report/nexi'],
            routerLinkActiveOptions: {
              exact: true
            }
          },
          {
            label: 'Tico',
            routerLink: ['/report/quisque'],
            routerLinkActiveOptions: {
              exact: true
            }
          }
        ]
      },
      {
        label: 'Fatturazione Tico',
        routerLink: ['/report/fat_quisque'],
        routerLinkActiveOptions: {
          exact: true
        }
      },
      {
        label: 'Partners fee',
        routerLink: ['/report/partnersfee'],
        routerLinkActiveOptions: {
          exact: true
        }
      },
      {
        label: 'SAP',
        items: [
          {
            label: 'Incasso',
            routerLink: ['/report/sap_incasso'],
            routerLinkActiveOptions: {
              exact: true
            }
          },
          {
            label: 'Transato',
            routerLink: ['/report/sap_transato'],
            routerLinkActiveOptions: {
              exact: true
            }
          },
          {
            label: 'Fee',
            routerLink: ['/report/sap_fee'],
            routerLinkActiveOptions: {
              exact: true
            }
          },
          {
            label: 'Ordini pagamento',
            routerLink: ['/report/sap_odp'],
            routerLinkActiveOptions: {
              exact: true
            }
          },
          {
            label: 'Esiti Pagamento',
            routerLink: ['/report/sap_edp'],
            routerLinkActiveOptions: {
              exact: true
            }
          },
        ]
      },
      {
        label: 'Flusso incassi',
        routerLink: ['/report/flussoInc'],
        routerLinkActiveOptions: {
          exact: true
        }
      },
      {
        label: 'Report Alfa Evolution',
        routerLink: ['/report/reportAlfa'],
        routerLinkActiveOptions: {
          exact: true
        }
      },
    ];
  }
}

SCSS:



::ng-deep .menucus ul li:nth-child(1) {
    background: #5393bc;
}
::ng-deep .menucus ul li:nth-child(2) {
    background: #5393bc;
}
::ng-deep .menucus ul li:nth-child(3) {
    background: #5393bc;
}
::ng-deep .menucus ul li:nth-child(4) {
    background: #5393bc;
}
::ng-deep .menucus ul li:nth-child(5) {
    background: #5393bc;
}
::ng-deep .ui-menu .ui-menuitem .ui-menuitem-link:hover{
    background-color: #5393bc;
}
::ng-deep .ui-menu,.ui-menu .ui-menu-child{
    border: 0px;
    background:#5393bc 0 0 repeat-x !important;
}
::ng-deep .ui-menu .ui-menuitem .ui-state-active{
    background-color: #5393bc;
}
::ng-deep .ui-menu .ui-menuitem.ui-menuitem-active>.ui-menuitem-link,
.ui-menu .ui-menuitem .ui-menuitem-link:hover{
    background-color:#186ba0;
}

这是图片

https://i.imgur.com/UCTNpmW.png

【问题讨论】:

    标签: html angular typescript sass primeng


    【解决方案1】:

    我找到了解决方案。我必须创建一个新类并使用 styleClass 将其绑定到每个项目。 变化: TS:

    {
            label: 'Riconciliazioni',
            items: [
              {
                label: 'Nexi',
                routerLink: ['/report/nexi'],
                routerLinkActiveOptions: {
                  exact: true
                },
                styleClass: 'menucus'
              },
              {
                label: 'Tico',
                routerLink: ['/report/quisque'],
                routerLinkActiveOptions: {
                  exact: true
                },
                styleClass: 'menucus'
              }
            ]
          }
    

    SCSS:

    ::ng-deep .ui-menu,.ui-menu .ui-menu-child{
        border: 0px;
        background:#5393bc 0 0 repeat-x !important;
    }
    ::ng-deep .ui-menu .ui-menuitem .ui-menuitem-link:hover{
        background-color: #5393bc;
    }
    ::ng-deep .ui-menu .ui-menuitem .ui-state-active{
        background-color: #5393bc;
    }
    ::ng-deep .ui-menu .ui-menuitem.ui-menuitem-active>.ui-menuitem-link,
    .ui-menu .ui-menuitem .ui-menuitem-link:hover{
        background-color:#186ba0;
    }
    ::ng-deep .menucus{
        background: #5393bc !important;
    }
    

    styleClass 已添加到 TS 上的每个项目中。

    【讨论】:

      猜你喜欢
      • 2018-08-24
      • 2021-02-24
      • 2021-12-05
      • 1970-01-01
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      相关资源
      最近更新 更多