使用rmdformats::readthedown渲染R Markdown如何实现页面全宽显示?
rmdformats::readthedown 全宽显示配置方案
问题原因
rmdformats::readthedown 的页面结构与默认html_document不同,它的宽度限制绑定在ID选择器#content上,自带样式优先级高于你自定义的.main-container类选择器,因此之前的配置不生效。
解决方案
直接覆盖readthedown专属的容器样式即可,有两种实现方式:
方式1:直接在Rmd文档头部插入自定义CSS
在YAML配置下方、首个代码块前插入以下样式代码即可:
<style type="text/css"> /* 保留侧边栏时的全宽配置 */ #content { max-width: unset !important; /* 300px为默认侧边栏宽度,可根据自己的侧边栏设置调整 */ width: calc(100% - 300px) !important; margin-left: 300px !important; /* 可自定义内边距,避免内容贴边 */ padding: 20px 40px !important; } /* 不需要侧边栏时,替换为以下样式即可 #sidebar { display: none; } #content { max-width: unset !important; width: 100% !important; margin-left: 0 !important; padding: 20px 50px !important; } */ </style>
添加后你的完整头部结构如下:
--- title: "Data checks for table T32100359" author: "Crop Reporting Unit, Statistics Canada" date: "`r Sys.Date()`" output: rmdformats::readthedown: keep_md: true runtime: shiny --- <!-- 上述样式代码插入在YAML结束后的位置 -->
方式2:通过外部CSS文件引用(更适合复用)
- 将上述CSS代码单独保存为
custom.css文件,放在Rmd同目录下 - 修改YAML配置,指定自定义CSS路径:
--- title: "Data checks for table T32100359" author: "Crop Reporting Unit, Statistics Canada" date: "`r Sys.Date()`" output: rmdformats::readthedown: keep_md: true css: custom.css runtime: shiny ---
两种方式均可实现全宽显示,不会再出现图表截断的问题。
内容的提问来源于stack exchange,提问作者jkud
相关产品推荐
相关产品推荐

