如何在Shiny Dashboard中修改icon()的尺寸?
如何修改Shiny Dashboard中icon()函数生成的图标尺寸?
你当前代码里尝试用size:26px调整图标尺寸是无效的,因为Font Awesome图标(shiny::icon()默认使用这类图标)本质是字体元素,需要通过CSS的font-size属性来调整尺寸。下面提供两种可行方案:
方案1:使用全局CSS样式(批量修改同类型图标)
通过给图标对应的Font Awesome类添加样式,适合需要统一调整多个相同图标尺寸的场景:
library(shiny) library(shinydashboardPlus) shinyApp( ui = dashboardPage(skin = "purple", options = list(sidebarExpandOnHover = TRUE), header = dashboardHeader( controlbarIcon = shiny::icon("filter") ), sidebar = dashboardSidebar(), body = dashboardBody( # 修改为font-size属性 tags$style(".fa-filter {color:red; font-size:26px;}") ), controlbar = dashboardControlbar( id = "controlbar", collapsed = FALSE, overlay = TRUE, skin = "light", pinned = TRUE ) ), server = function(input, output, session) { } )
方案2:直接在icon()函数内指定样式(单独修改单个图标)
如果只需要调整某个特定图标的尺寸,可直接在icon()函数中通过style参数设置:
library(shiny) library(shinydashboardPlus) shinyApp( ui = dashboardPage(skin = "purple", options = list(sidebarExpandOnHover = TRUE), header = dashboardHeader( # 直接在icon里指定样式 controlbarIcon = shiny::icon("filter", style = "color:red; font-size:26px;") ), sidebar = dashboardSidebar(), body = dashboardBody(), controlbar = dashboardControlbar( id = "controlbar", collapsed = FALSE, overlay = TRUE, skin = "light", pinned = TRUE ) ), server = function(input, output, session) { } )
两种方法都能有效调整图标尺寸,按需选择即可。
内容的提问来源于stack exchange,提问作者firmo23
相关产品推荐
相关产品推荐

