RMarkdown中如何为不同blockquote块设置不同的背景颜色
问题原因
CSS为全局生效的样式规则,针对同一HTML标签的同名样式属性,后定义的规则会覆盖先定义的规则。你原本的写法两次修改全局blockquote标签的背景色,最终渲染时只会生效最后一次的配置,因此无法实现多个引用块的样式差异化。
解决方案
通过给不同块引用绑定独立的CSS类实现差异化样式,具体操作如下:
- 提前在文档开头统一编写所有自定义样式,不需要拆分多个CSS代码块
- 在每个块引用的末尾通过
{.自定义类名}语法,给对应引用绑定预设好的样式类
完整可运行的R Markdown示例代码如下:
--- title: "Untitled" output: html_document --- ```{css echo = FALSE} /* 定义黄色背景的引用样式类 */ blockquote.note-yellow { background-color: rgb(255,255,153); } /* 定义白色背景的引用样式类 */ blockquote.note-white { background-color: #ffffff; }
this is a note 1
这部分仍然是第一条笔记的内容
{.note-yellow}
this is a note 2
这部分仍然是第二条笔记的内容
{.note-white}
如果你使用的R Markdown版本较低不支持块属性语法,也可以直接手写HTML标签实现: ```html <blockquote style="background-color: rgb(255,255,153);"> <p>this is a note 1</p> <p>这部分仍然是第一条笔记的内容</p> </blockquote> <blockquote style="background-color: #ffffff;"> <p>this is a note 2</p> <p>这部分仍然是第二条笔记的内容</p> </blockquote>
内容的提问来源于stack exchange,提问作者PaulS
相关产品推荐
相关产品推荐

