не может выровнять строки с помощью kableExtra `cell_spec ()` - PullRequest
0 голосов
/ 11 февраля 2019
---
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")
```

I следуйте руководству KableExtra для выравнивания ячеек с помощью функции cell_spec().Я пытаюсь вправо выровнять мой cyl столбец.Но обратите внимание, что столбец не выровнен по правому краю (изображение ниже).

Что пошло не так?

kableExtra align

1 Ответ

0 голосов
/ 12 февраля 2019

Джейсон, сама функция kable имеет опцию выравнивания.Я думаю, что если вы не ищете какого-либо условного выравнивания, вы должны просто использовать это.

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 просто не даст вам того, что вам нужно.Если вы проверите необработанный HTML-код, сгенерированный этим подходом, вы в конечном итоге увидите, что cell_spec помещает вашу ячейку в тег <span>.Вы можете указать text_align, но это будет переопределено настройкой text_align в <td>.Я посмотрю, должен ли я это исправить или добавить предупреждение в этом разделе.

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