我正在创建一个带有R markdown的html文档,其中包含一些表格。在表的一列具有字符值的情况下,如何确保列足够宽以包含整个字符串而不包装?我尝试使用下面的kableExtra
,但似乎width
的{{1}}参数未被使用,即使column_spec
参数是。
bold
答案 0 :(得分:2)
我认为它更像是一个HTML / css问题。当HTML表的宽度超过页面宽度时,如果不必要,它将尝试减小列宽。如果减少csd
的列数,您会看到width
选项开始显示效果。
在这种情况下,一种解决方法是使用scroll_box
函数并为表格提供更宽的绘图区域。
csd %>%
kable('html', digits = 2) %>%
column_spec(1, bold = T, width = "2600em") %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
scroll_box(width = "2000px")
<强>更新强>
另一个hacky但“真实”的解决方案是强制将单元格显示为内联块
csd %>%
kable('html', digits = 2) %>%
column_spec(1, bold = T, width = "2600em; display: inline-block;") %>%
kable_styling(bootstrap_options = c("striped", "hover"))
<强>更新强>
display: inline-block
现在默认包含在kableExtra(dev ver)中。
如果我们默认有display: inline-block;
,则表格列的标题行将无法自动调整其宽度。当表小而紧时,它会破坏column_spec。结果,我将此行从默认值中删除。如果需要强行设置宽度。你总是可以使用我上面提供的方法。