使html表格列更宽/防止单词在RMarkdown中包装

时间:2017-10-11 13:23:46

标签: r knitr r-markdown kableextra kable

我正在创建一个带有R markdown的html文档,其中包含一些表格。在表的一列具有字符值的情况下,如何确保列足够宽以包含整个字符串而不包装?我尝试使用下面的kableExtra,但似乎width的{​​{1}}参数未被使用,即使column_spec参数是。

bold

1 个答案:

答案 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。结果,我将此行从默认值中删除。如果需要强行设置宽度。你总是可以使用我上面提供的方法。

相关问题