如何覆盖Primeng样式?

时间:2019-03-14 09:05:15

标签: html css angular styles primeng

我需要在项目中使用PrimeNG。我要设置Panel Menu的样式。

我需要更改边框的颜色和背景。

HTML:

<img class="logo" src="../../../assets/images/MenuLogo.png">
<p-panelMenu [model]="items"></p-panelMenu>

SCSS:

:host {
    ::ng-deep .ui-panelmenu
    {
        width: 250px;
        border: 0px;
        .ui-panelmenu-header
        {
            border: none;
        }
    }
} 
.logo
{
    width: 250px;
}
.test
{
    border: 0px solid black;
}

如果我这样使用您的代码,我想首先消除边框和背景:

HTTP:

<img class="logo" src="../../../assets/images/MenuLogo.png">
<p-panelMenu [style]="{'border':'none', 'background-color':'none'}" [model]="items"></p-panelMenu>

我有这个:

但是想要这个:

4 个答案:

答案 0 :(得分:0)

在全局style.css文件中尝试这种样式-

body .ui-panelmenu .ui-panelmenu-header > a {
   border: 0px solid black;
   background: red;
}

答案 1 :(得分:0)

在这种情况下,请使用下一个代码段:

body .ui-panelmenu .ui-panelmenu-header > a {
    border: none!important;
    background-color: transparent!important;
}

将代码添加到视图的css文件中或应用程序的全局style.css / style.scss中。

答案 2 :(得分:0)

答案是:

:host {
    ::ng-deep .ui-panelmenu
    {
        width: 250px;
        border: 0px;
    }
    ::ng-deep .ui-panelmenu-header > a {
        border: none!important;
        background-color: transparent!important;
    }
} 
.logo
{
    width: 250px;
}

答案 3 :(得分:0)

这对我有用:

HTML:

<p-panelMenu [model]="items" [style]="{'width':'300px'}"></p-panelMenu>

(视图的)CSS:

:host>>>.ui-state-default {
    background: #246bc2!important;
    color: #FFFFFF!important;
}

:host>>>.ui-menuitem-text {
    color: #FFFFFF!important;
}

:host>>>.ui-menuitem-icon {
    color: #FFFFFF!important;
}

:host>>>.ui-panelmenu .ui-panelmenu-content .ui-menuitem-text {
    color: #003883!important;
}

:host>>>.ui-panelmenu .ui-panelmenu-content .ui-menuitem-icon {
    color: #003883!important;
}