无法将行与kableExtra`cell_spec()`对齐

时间:2019-02-11 17:06:39

标签: r markdown kable kableextra

---
title: "Untitled"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r mtcars, warning=FALSE, message=FALSE, echo=FALSE, results='asis'}
library(tidyverse)
library(kableExtra)
kable(mtcars %>% 
        select(1:5) %>% 
        head(10) %>% 
        mutate(cyl = cell_spec(cyl, align = "r")), 
      "html", 
      escape = FALSE) %>% 
  kable_styling("striped", "hover", full_width = TRUE) %>%
  row_spec(c(1, 3), background = "yellow")
```

follow the KableExtra guide使用cell_spec()函数对齐单元格。我试图 right 对齐我的cyl列。但是请注意,该列未正确对齐(下图)。

出了什么问题?

kableExtra align

1 个答案:

答案 0 :(得分:1)

Jason,kable函数本身具有align选项。我认为,如果您不寻找任何条件对齐方式,则应该使用它。

library(kableExtra)
library(tidyverse)
mtcars %>% 
  select(1:5) %>% 
  head(10) %>%
  kable(align = c("crcccc")) %>% 
  kable_styling("striped", "hover", full_width = TRUE) %>%
  row_spec(c(1, 3), background = "yellow")

对于cell_spec本身,现在看来,这种HTML的align选项无法满足您的需求。如果检查通过这种方法生成的原始HTML,最终将看到cell_spec将单元格放入<span>标记中。您可以在此处指定text_align,但是会被text_align中的<td>设置所覆盖。我将在本节中查看是否应该解决此问题或添加警告说明。

<td style="text-align:left;"> <span style="     text-align: right;">4</span> </td>