Я использую bslib::value_box()
на панели инструментов Quarto.
При масштабе 90% они выглядят нормально:
Но при масштабировании 100% он разбивается на 2 ряда:
Есть ли способ, чтобы поля значений всегда были одной строкой? Я не знаю, проблема ли это bslib
, проблема quarto
или просто какой-то CSS, с которым мне нужно разобраться. Надеюсь, кто-нибудь сможет дать несколько советов.
---
title: "Test"
format: dashboard
---
# Page 1
## Sidebar {.sidebar}
## Column
### Row {height = "200px"}
```{r}
library(bslib)
library(bsicons)
value_box("Box 1", value = 123, showcase = bs_icon("rocket-takeoff"))
value_box("Box 2", value = 456, showcase = bs_icon("rocket-takeoff"))
value_box("Box 3", value = 789, showcase = bs_icon("rocket-takeoff"))
value_box("Box 4", value = 1011, showcase = bs_icon("rocket-takeoff"))
value_box("Box 5", value = 1213, showcase = bs_icon("rocket-takeoff"))
```
Прежде всего обратите внимание: то, что вы видите, не является проблемой bslib
, это намеренное поведение для маленького value_box
. В частности, по умолчанию showcase_layout
— left center
, а при масштабе 100 % вы видите left
(область) и center
(витрина).
Тем не менее, возможность деактивации заключается в том, что вы устанавливаете переменную sass
$bslib-value-box-horizontal-break-point
так, чтобы она говорила 1px
, используя bslib::bs_add_variables
. В противном случае установлено значение 300px
.
Следующее минимальное блестящее приложение основано на вашем коде, а на скриншотах ниже показан эффект установки переменной. Вы можете перевести это аналогично своей информационной панели.
library(shiny)
library(bslib)
library(bsicons)
ui <- page_fluid(
theme = bslib::bs_theme() |>
bs_add_variables("bslib-value-box-horizontal-break-point" = "1px"),
layout_column_wrap(
value_box("Box 1", value = 123, showcase = bs_icon("rocket-takeoff")),
value_box("Box 2", value = 456, showcase = bs_icon("rocket-takeoff")),
value_box("Box 3", value = 789, showcase = bs_icon("rocket-takeoff")),
value_box("Box 4", value = 1011, showcase = bs_icon("rocket-takeoff")),
value_box("Box 5", value = 1213, showcase = bs_icon("rocket-takeoff"))
)
)
shinyApp(ui, \(...) {})
Со стандартным значением 300px
:
Если установлено значение 1px
:
Идеальный! Это было отличное объяснение. Спасибо