首页 > 解决方案 > 更改特定 valueBox 中值的字体大小(flexdashboard)

问题描述

我有一个带有一堆 valueBoxes 的 flexdashboard。然而,有些值是非常长的字符串,因此会溢出页面并且通常看起来很难看。当值的字符长度超过一定限制时,我希望能够动态更改特定 valueBoxes 的值字体大小。

我知道我可以像这样使用 css 全局更改字体大小:

.value-box .value {
    font-size: 38px;
    font-weight: bold;
    margin: 0 0 3px 0;
    white-space: nowrap;
    padding: 0;
}

但我不想更改每个 valueBox 的值字体大小,只是特定的 valueBoxes。

我也尝试过使用tags函数 fromshiny直接编辑字体大小:

### Test Heading
flexdashboard::valueBox(
  value = shiny::tags$p("This is a very long string", style = "font-size: 20px;"),
  caption = "Test Caption"
)

但这似乎并没有改变任何东西。

标签: cssrshinyr-markdownflexdashboard

解决方案


这是可能的,将您的长字符串分配给值,然后用于inline R code调用 valueBox 中的值。

---
title: "Super long string"
author: ""
date: "`r format(Sys.time(), '%d %B, %Y')`"
output: 
  flexdashboard::flex_dashboard:
    orientation: row
    vertical_layout: fill
---


```{r setup, include=FALSE}
require(flexdashboard)
value = 'this is a very very very very very very very very very very very very very very very very long string'
```

Column {data-width=350}
-------------------------------------
### ```r value```

```{r}
valueBox("Valuebox", icon = "fa-pencil", href="#details")
```

在此处输入图像描述


推荐阅读