You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FullCalendar 5.7月视图隔行变色 nth-child需定位哪个目标元素

FullCalendar 5.7 dayGridMonth 月视图交替行变色方案

问题原因

FullCalendar 5.x 版本对视图DOM结构做了全量重构,两类旧写法均无法适配当前版本:

  • 直接匹配td:nth-child(odd)的写法选中的是每行内的奇数列单元格,最终呈现列交替效果,不符合行变色需求
  • 针对v4及更早版本的div.fc-row选择器已失效,新版本月视图的周行已经改为标准table tr结构,不存在旧版的div行节点。

可用实现代码

直接添加以下CSS即可实现月视图交替行(按周交替)变色效果,样式不会污染其他视图:

/* 月视图偶数周行日期单元格背景色 */
.fc-dayGridMonth-view .fc-daygrid-body tr:nth-of-type(even) .fc-daygrid-day {
    background: rgba(240,240,247,1);
}
/* 基础样式修正,避免边框错位 */
.fc-dayGridMonth-view .fc-scrollgrid {
    border-collapse: collapse;
    border-spacing: 0;
}
.fc-dayGridMonth-view .fc-daygrid-day {
    font-size: 1em;
}

如果需要奇数行变色,把:nth-of-type(even)替换为:nth-of-type(odd)即可。

选择器说明

  • 外层加.fc-dayGridMonth-view作用域,仅对月视图生效,不影响周视图、日程视图等其他FullCalendar视图
  • 选中.fc-daygrid-body下的tr节点,该节点对应日历中每一周的整行,不会匹配顶部的星期表头行
  • 背景色必须设置在.fc-daygrid-day(单个日期单元格)节点上,直接给tr设置背景会被单元格默认背景层覆盖,无法生效。

内容的提问来源于stack exchange,提问作者fbs419

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 02:01:12