Выровнять ячейку в таблице html RMarkdown (kable) - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь выровнять содержимое таблицы (таблицы), содержащей несколько строк текста в HTML-документе Rmarkdown.

Таблица по умолчанию отображается с текстом, выровненным по левому краю, но выровненным по центру по горизонтали.См. Ниже:

enter image description here

Я бы хотел, чтобы текст был выровнен по левому краю (без изменений), но выровнен по верху.Можно ли этого добиться, используя kable в Rmarkdown?

Этот код ниже воссоздает приведенную выше таблицу:

```{r, cache=TRUE, echo=FALSE}
column_1 <- c( "Lorem ipsum dolor sit amet, consectetur adipiscing 
elit. Vivamus dolor risus, aliquet at dolor et, tincidunt egestas 
urna.")

column_2 <- c("Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Vivamus dolor risus, aliquet at dolor et, tincidunt egestas urna. Nam 
nec elit vel eros accumsan vulputate. Donec et congue sapien. Morbi 
condimentum fringilla lobortis. Cras eget justo non turpis elementum 
facilisis. Fusce dignissim orci id pretium sagittis. Pellentesque 
dignissim nisi sapien, sit amet maximus nisl ullamcorper ac. Donec elit 
ex, hendrerit sed leo convallis, efficitur bibendum ligula. 
Pellentesque sagittis arcu et condimentum viverra. Mauris at lectus at 
massa ullamcorper ullamcorper. Aliquam quis leo ac eros cursus mattis. 
Praesent pellentesque nunc et diam lacinia, quis cursus purus lacinia. 
Aenean ipsum libero, bibendum non ante 
vel, vehicula consectetur ex. Fusce lobortis odio nec urna dignissim, 
sed elementum ipsum sagittis. Sed mollis, magna in blandit imperdiet, 
dolor quam posuere quam, id iaculis nisl diam sed lorem.")

column_3 <- c("Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Vivamus dolor risus, aliquet at dolor et, tincidunt egestas urna. Nam 
nec elit vel eros accumsan vulputate. Donec et congue sapien. Morbi 
condimentum fringilla lobortis. Cras eget justo non turpis elementum 
facilisis. Fusce dignissim orci id pretium sagittis. Pellentesque 
dignissim nisi sapien, sit amet maximus nisl ullamcorper ac. Donec elit 
ex, hendrerit sed leo convallis, efficitur bibendum ligula. 
Pellentesque sagittis arcu et condimentum viverra. Mauris at lectus at 
massa ullamcorper ullamcorper. Aliquam quis leo ac eros cursus 
mattis.")

test_table <- data_frame(column_1, column_2, column_3) %>%
  kable(caption = "Test table", align = "l") %>% 
  kable_styling(full_width = T) %>%
  column_spec(1, width = "30em") %>%
  column_spec(2, width = "40em") %>%
  column_spec(3, width = "30em")
```

Этот вопрос , по-видимому, пытается решить подобную проблему,и решение связано с использованием латекса.Который здесь не вариант ...

1 Ответ

0 голосов
/ 22 ноября 2018

Используйте параметр extra-css:

data_frame(column_1, column_2, column_3) %>%
  kable(caption = "Test table", align = "l", format = "html") %>% 
  kable_styling(full_width = T) %>%
  column_spec(1, width = "30em", extra_css = "vertical-align:top;") %>%
  column_spec(2, width = "40em", extra_css = "vertical-align:top;") %>%
  column_spec(3, width = "30em", extra_css = "vertical-align:top;")

enter image description here

...