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

Angular5实现日历小时项奇偶行差异化背景色问题

解决Angular日历小时项奇偶样式不生效的问题

看起来你遇到的核心问题是HTML结构和指令位置不对,导致奇偶样式没作用到预期元素上。我们一步步来修正:

1. 修正HTML结构(关键!)

你现在把*ngFor放在了<ul>标签上,这会让每个小时都生成一个独立的无序列表,而不是在同一个列表里展示所有小时项。这样even/odd类是加在每个单独的<ul>上,自然达不到你想要的“每个小时项交替颜色”的效果。

把*ngFor移到<li>标签上,让所有小时项都属于同一个<ul>:

<ul class="heure">
  <li *ngFor="let heure of libelleTranche; let even = even; let odd = odd" 
      [ngClass]="{ odd: odd, even: even }">
    {{ heure }} H
  </li>
</ul>

2. 调整LESS样式

现在我们需要让样式作用在<li>元素上,同时保持横向排列的效果:

.heure {
  list-style: none; /* 去掉默认的列表圆点 */
  padding: 0; /* 清除默认内边距 */
  li {
    float: left;
    width: 2.5em;
    text-align: center; /* 让小时文本居中,更美观 */
  }
  .even {
    background-color: red;
  }
  .odd {
    background-color: green;
  }
}

3. 额外优化(可选)

如果你担心浮动导致的布局问题,可以用Flexbox替代float,更现代也更易维护:

.heure {
  list-style: none;
  padding: 0;
  display: flex; /* 使用Flex布局 */
  li {
    width: 2.5em;
    text-align: center;
  }
  .even {
    background-color: red;
  }
  .odd {
    background-color: green;
  }
}

这样调整后,每个小时项会横向排列,并且根据奇偶位置交替显示红色/绿色背景,完美提升视觉辨识度!

内容的提问来源于stack exchange,提问作者geek pédagogique lcms

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:29:30