首页 > 解决方案 > 自定义 mat-calendar,删除月份标签

问题描述

我正在尝试从角材料垫日历中删除月份标签。这是stackblitz链接

https://stackblitz.com/edit/am-all-imports-mviy6e?file=styles.scss

  <mat-calendar [dateClass]="dateClass()" [selected]="selectedDate" (selectedChange)="onSelect($event)"></mat-calendar>


onSelect(event){
    console.log(event);
    this.selectedDate = event;
  }

  dateClass() {
    return (date: Date): MatCalendarCellCssClasses => {
      const highlightDate = this.datesToHighlight
        .map(strDate => new Date(strDate))
        .some(d => d.getDate() === date.getDate() && d.getMonth() === date.getMonth() && d.getFullYear() === date.getFullYear());

      return highlightDate ? 'special-date' : '';
    };

}

对于CSS: -

.mat-calendar-body-label{
   display: none;
  }

如果我使用上面的css代码,它会从左到右移动日历日期并使日历失真。

如果我使用这个:-

.mat-calendar-body-label{
  opacity: 0;
  }

那么如果没有日期,它将留下空行

标签: angularangular-material

解决方案


此外:

.mat-calendar-body-label{
     opacity: 0;
}

添加以下内容以消除当月的第一天从第一列开始时的额外空间:

.mat-calendar-body-label[colspan="7"] {
    display: none;
}

推荐阅读