如何在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
相关产品推荐
相关产品推荐

