如何将formattable表格边框调整为类似kable LaTeX的网格线样式
formattable 表格网格线调整方案
formattable本质输出为HTML表格,通过注入自定义CSS即可实现样式调整,原有表格的颜色条、涨跌图标、单元格格式等效果完全不受影响。
实现全单元格网格线(Excel/kable样式)
在你原有代码生成FT对象后,追加以下代码即可:
library(htmltools) # 注入自定义表格样式 FT_grid <- as.htmlwidget(FT) FT_grid$dependencies <- c(FT_grid$dependencies, list( htmlDependency( name = "custom_border", version = "1.0", src = c(href = ""), head = " <style> table.formattable { border-collapse: collapse; width: 100%; } table.formattable th, table.formattable td { /* 1px是边框粗细,#000是黑色,要红色替换为#ff0000即可 */ border: 1px solid #000 !important; padding: 8px; } </style> " ) )) # 输出带全网格线的表格 FT_grid
如果需要保留表头底色、斑马纹间隔等效果,可以在<style>标签内追加以下规则:
table.formattable th { background-color: #f0f0f0; } table.formattable tr:nth-child(even) { background-color: #f9f9f9; }
仅修改原有水平分隔线颜色
不需要全网格线的话,将上面代码里的<style>部分替换为以下内容即可,可自定义颜色和粗细:
table.formattable tr { /* 2px是分隔线粗细,#ff0000是红色,改黑色替换为#000即可 */ border-bottom: 2px solid #ff0000 !important; }
调整后的样式不管是直接在查看器显示、导出为HTML文件还是用webshot转成图片都会正常生效。
内容的提问来源于stack exchange,提问作者JK Lambert
相关产品推荐
相关产品推荐

