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

如何在Quarto Revealjs演示中修改countdown包后续计时器的颜色?

解决Quarto RevealJS中countdown计时器颜色继承问题

问题原因

countdown包通过生成全局CSS样式控制计时器外观,当演示文稿中存在多个计时器时,后续计时器的自定义颜色参数会被首个计时器的全局样式覆盖,导致颜色设置不生效。

解决方案步骤

1. 为每个计时器添加唯一ID

在每个countdown()调用中添加id参数,给每个计时器分配唯一标识,方便CSS精准定位修改样式。

2. 添加自定义CSS样式

在Quarto文档中插入内联CSS块,针对每个计时器的ID编写专属样式,覆盖默认的全局样式规则。

修改后的完整可复现代码

---
title: "Countdown Timer Test"
subtitle: "Countdown Timer Color Issues"
date: today
date-format: long
format: 
  revealjs:
    footer: Sample Footer
    theme: moon
    transition: fade
    transition-speed: slow
    code-block-height: 650px
editor_options: 
  chunk_output_type: console
---

```{css, echo=FALSE}
/* 针对每个计时器ID设置文本颜色 */
#timer-1 .countdown-display {
  color: #AAB53F;
}

#timer-2 .countdown-display {
  color: #1D327B;
}

#timer-3 .countdown-display {
  color: darkred;
}

/* 自定义不同状态的背景色与边框色 */
#timer-1.countdown.running {
  background-color: #002b36;
  border-color: #002b36;
}

#timer-1.countdown.finished {
  background-color: oldlace;
}

#timer-1.countdown.warning {
  background-color: dodgerblue;
}

#timer-2.countdown.running {
  background-color: #002b36;
}

#timer-2.countdown.finished {
  background-color: oldlace;
}

#timer-2.countdown.warning {
  background-color: dodgerblue;
}

#timer-3.countdown.running {
  background-color: #002b36;
}

#timer-3.countdown.finished {
  background-color: oldlace;
}

#timer-3.countdown.warning {
  background-color: dodgerblue;
}
#| echo: false
#| include: false

pacman::p_load(
  countdown
)

Slide 1 with timer

#| label: Timer 1

countdown(
  id = "timer-1",
  minutes = 2,
  font_size = "2em"
  )
  • Some text on Slide 1
  • Small timer bottom right
  • 颜色已按预期生效

Slide 2 with timer

#| label: Timer 2

countdown(
  id = "timer-2",
  minutes = 12, seconds = 30,
  font_size = "2em",
  warn_when = 120
  )
  • 文本颜色已改为海军蓝
  • 不再继承Timer 1的颜色

Slide 3 with timer

countdown(
  id = "timer-3",
  minutes = 12, seconds = 30,
  font_size = "2em",
  warn_when = 120
  )
  • 文本颜色已改为深红色
  • 不再继承Timer 1的颜色
## 关键说明
- 用`id`参数创建唯一标识后,CSS选择器优先级会高于全局样式,避免样式被覆盖。
- 内联CSS块通过`echo=FALSE`隐藏,不会在幻灯片中显示代码。
- 可根据需求扩展CSS规则,比如修改边框粗细、字体大小等,只需对应ID调整选择器即可。

内容的提问来源于stack exchange,提问作者EastBeast
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 10:58:23