我是Angular 2 Material的新手,我试图自定义md菜单组件的样式。Angular 2材质自定义md菜单
<md-icon class="material-icons" [mdMenuTriggerFor]="menu">dehaze</md-icon>
<md-menu #menu="mdMenu" [overlapTrigger]="false">
<button md-menu-item>Item 1</button>
<button md-menu-item>Item 2</button>
</md-menu>
预定义的样式设置正常工作(例如,设置菜单不重叠的),但我想设置的MD-菜单宽度为100%,并有MD-图标按钮之间的空间不大,这扩大了菜单,我不能这样做predefined directives from Angular 2 Material。
到目前为止,我用/ deep/css命令找到了一个解决方案,但是我看到主要浏览器不支持该命令。
什么是自定义Angular 2 Material组件的好方法?我如何设计我的md菜单,使它具有100%的宽度以及它的扩展按钮之间有一定的空间?
为了说明什么我谈论: Draft of the menu
谢谢,您的解决方案为我工作。我还有两个问题:为什么你知道你需要使用“.mat-menu-panel”?我没有在Angular Material文档中看到这个名字。是否有可能在app.component.css而不是全局styles.css中定义该类?我试过了,但它似乎工作,当代码部分是全局styles.css。 – Polarfox
我想通过在打开菜单后检查DOM来使用'.mat-menu-panel'。我不确定课堂会在哪里添加,所以我不得不进去找到它。使用至少两个选择器是很重要的,以便更具体地说明原始的.mat菜单面板样式。还可以确定,你可以在你的app.component.css中定义这些样式,但是你必须在你的组件中将ViewEncapsulation设置为None。这是因为菜单面板是md-menu组件的直接子项,而不是您的应用程序组件! –