html - 带有 {bslib} 包的 R Shiny 1.6:移动设备上的导航栏样式 - Bootstrap 4 与 Bootstrap 3
问题描述
我最近更新到 Shiny 版本 1.6 以使用新合并bslib
的包的 Bootstrap 4 样式。但是,navbarPage
在从版本 3 移动到版本 4 时(bslib::theme()
使用navbarPage
.
这是一个使用 Bootsrap 3 进行样式设置的示例应用程序:
library(bslib)
library(shiny)
ui <- function(request) {
bootstrapPage(
navbarPage(
id = "dir",
theme = bs_theme(
version = 3,
bootswatch = "yeti"
),
title = "Mobile Testing",
windowTitle = "Mobile Testing",
collapsible = TRUE,
## First navbarMenu
navbarMenu(
title = "Menu #1",
tabPanel(title = "Tab 1", "Tab 1"),
tabPanel(title = "Tab 2", "Tab 2"),
tabPanel(title = "Tab 3", "Tab 3")
),
## Second navbarMenu
navbarMenu(
title = "Menu #2",
tabPanel(title = "Tab 1", "Tab 1"),
tabPanel(title = "Tab 2", "Tab 2"),
tabPanel(title = "Tab 3", "Tab 3")
),
tabPanel(title = "Tab #1")
)
)
}
server <- shinyServer(function(input, output, session) {
## empty server
})
shinyApp(ui, server)
这是移动布局的样子(标题或导航栏品牌贴在左侧,汉堡按钮贴在右侧):
现在,如果您使用而不是更新该theme = bs_theme()
功能,则会得到以下移动布局(汉堡按钮卡在左侧,标题/导航栏品牌卡在汉堡按钮旁边):version = 4
version = 3
我曾尝试使用 CSS 来改变这种面向的方式,但我似乎无法弄清楚如何覆盖 Shiny 使用的默认 CSS。我还尝试修改 HTML 以查看是否可以让这些翻转并看起来像version = 3
样式(这似乎是默认的 Bootstrap 4 样式,从我可以告诉每个https://bootswatch.com/yeti/) ,但我没有任何运气。有没有人对我如何实现version = 3
设置的方向有任何建议?
解决方案
为了跟进,我在这里向包维护者提出了一个问题——这似乎是一个错误。无论如何,在查看了提交后,我能够将以下 CSS 添加到我的样式表中以解决此问题:
@media (max-width: 576px) {
.navbar-header {
width: 100% !important;
}
.navbar-toggle {
float: right !important;
}
}
bslib
我认为这将通过将来对软件包的更新来解决。
推荐阅读
- amazon-web-services - 参数值中的局部变量
- node.js - 无法使用 neo4j 驱动程序从 nodejs 连接到 neo4j
- swift - Xcode 12 中的“@main”是什么意思?
- r - 如何重新计算 R 中具有不同观察次数的个体值和平均值的混合平均值?
- java - Gson null 反序列化
- javascript - 带有 3 行下拉菜单的粘性响应式顶部导航栏
- html - 如何使用不同的 HTML 名称创建 Django 表单列表,以便我们轻松检索它们?
- prolog - 类似于序言中的世界块,具有新规则
- javascript - firebase 查询在客户端返回部分更新的节点
- java - 将微调器值从片段传递到活动