Quarto HTML文档中kableExtra自定义表格行背景色编织后异常的问题求助
Quarto HTML文档中kableExtra自定义表格行背景色编织后异常的问题求助
我最近在做Quarto HTML文档的时候碰到个麻烦事:用kableExtra给表格行设置了自定义背景色,单独在RStudio里跑代码块时,行颜色完全是我想要的样子,但一编织整个文档,颜色就不对了——编织出来的文档里,每隔一行就会自动加个稍深的底色,把我设置的颜色盖在上面,导致显示效果和预期差很多。
单独运行代码块的效果:
表格所有行的背景色都是我指定的颜色,没有隔行深浅不一的情况
编织后的文档效果:
呈现出隔行加深的规律:第1行比第2行深,第90行比第91行深,第101行比第102行深,完全打乱了我设置的颜色
我的文档开头的YAML配置大致如下:
pagetitle: "my title" title: my title author: ...
有没有大佬能告诉我,怎么才能让Quarto编织的时候不擅自修改我指定的表格行颜色呀?
可能的解决思路
- 关闭Quarto默认的表格隔行样式
Quarto的HTML模板默认会给表格启用striped(隔行变色)样式,这是导致冲突的根源。你可以在YAML配置里直接关闭这个功能:
format: html: table: striped: false
- 用自定义CSS强制覆盖默认样式
如果上面的方法不生效,还可以在文档里插入一段自定义CSS,强制取消表格的隔行背景色:
<style> .table-striped > tbody > tr:nth-of-type(odd) { background-color: transparent !important; } </style>
- 给所有行明确设置背景色
在kableExtra的代码中,给表格的每一行都明确指定背景色,这样可以直接覆盖Quarto的默认样式,比如:
library(kableExtra) your_data %>% kbl() %>% row_spec(row = 1:nrow(your_data), background = "#你的自定义颜色代码") %>% # 其他kableExtra格式设置
备注:内容来源于stack exchange,提问作者displayname123
相关产品推荐
相关产品推荐

