r-只在闪亮的仪表板的特定tabItem上应用css格式



我有下面的闪亮应用程序,我想在其中只在闪亮面板的特定tabItem上应用css格式,但它同时应用于两者。如何指定仅在1日应用?

library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(menuItem("Welcome", tabName = "tab1", icon = icon("house")),
menuItem("Information", tabName = "tab2", icon = icon("table"))),
dashboardBody(
tabItems(
tabItem("tab1",
tags$head(tags$style(HTML('

body{
font-size: 12pt;
font-family: "Montserrat Light", sans-serif;
text-align: justify;
background-color: linen;
}
H1.title{
font-size: 44pt;
font-family: "Chronicle Display Light", Times, serif;
text-align: right;
background-color: linen;
}
H1{
font-size: 44pt;
font-family: "Chronicle Display Light", Times, serif;
text-align: right;
background-color: linen;
}
H2{
font-size: 16pt;
font-weight: bold;
font-family: "Chronicle Display Light", Times, serif;
text-align: left;
background-color: linen;
}
'))),
fluidRow(column(3,h3("Concent"))),
tags$hr(),
fluidRow(column(3,h5(strong("Investigators")))),
fluidRow(column(9,"The investigators of this project are:")),
fluidRow(column(9,"Dr Adam Hodgkins","(",tags$a (href="adam@hodgkins.com.au","adam@hodgkins.com.au"),")")),
fluidRow(column(9,"Dr Hodgkins can be contacted by telephone on 0414 296 699. ")),
tags$hr(),
fluidRow(column(3,h5(strong("Consent")))),
fluidRow(column(12,"The practice owners have been given information about the research project titled “Life, death and statins: Survival analysis of elderly general practice patients in relation to statin prescriptions.”")),
fluidRow(column(12,"The practice owners have been provided the opportunity to discuss the research with the investigators who are conducting this research as part of the University of Wollongong. ")),
fluidRow(column(12,"The practice owners have been advised of any possible risks or burdens associated with this research and have had the opportunity to ask the investigators any questions they may have about the research and my participation.

")),
tags$hr(),
fluidRow(column(12,"I understand our practice’s participation is voluntary, our practice is free to choose not to participate and is free to withdraw from the research at any time. Our practice’s choice to not participate or to withdraw consent will not affect its relationship with the researchers or the University of Wollongong. 

"))
),
tabItem("tab2",
fluidRow(column(3,h3("Concent"))),
tags$hr(),
fluidRow(column(3,h5(strong("Investigators")))),
fluidRow(column(9,"The investigators of this project are:")),
fluidRow(column(9,"Dr Adam Hodgkins","(",tags$a (href="adam@hodgkins.com.au","adam@hodgkins.com.au"),")")),
fluidRow(column(9,"Dr Hodgkins can be contacted by telephone on 0414 296 699. ")),
tags$hr(),
fluidRow(column(3,h5(strong("Consent")))),
fluidRow(column(12,"The practice owners have been given information about the research project titled “Life, death and statins: Survival analysis of elderly general practice patients in relation to statin prescriptions.”")),
fluidRow(column(12,"The practice owners have been provided the opportunity to discuss the research with the investigators who are conducting this research as part of the University of Wollongong. ")),
fluidRow(column(12,"The practice owners have been advised of any possible risks or burdens associated with this research and have had the opportunity to ask the investigators any questions they may have about the research and my participation.

")))
)

)
)
server <- function(input, output) { }
shinyApp(ui, server)

尽量减少问题代码。您的menuItem周围也缺少一个sidebarMenu。这里使用简化版本的代码来突出显示要做什么。

首先将样式标记移动到仪表板主体。即使你把它放在tabItem中,它也会一直放在页面的顶部!

要将样式限制为特定的tabItem,请在样式表中的选择器前面加上#shing-tabTABNAME(用您的TABNAME替换TABNAME(

library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sidebarMenu(
menuItem("Welcome", tabName = "tab1", icon = icon("house")),
menuItem("Information", tabName = "tab2", icon = icon("table"))
)
),
dashboardBody(
tags$head(
tags$style(
HTML('
#shiny-tab-tab2 h1 {
color: red;
}
')
)
),
tabItems(
tabItem(
"tab1", tags$h1('TAB1')
),
tabItem(
"tab2", tags$h1('TAB2')
)
)

)
)
server <- function(input, output) {

}
shinyApp(ui, server)

id包装div()中tab1的内容,并且应该只为该id定义CSS。我在下面的代码中将mytab定义为id。

css <- "
#mytab body{
font-size: 12pt;
text-align: justify;
background-color: linen;
}
#mytab H1.title{
font-size: 44pt;
text-align: right;
background-color: linen;
}
#mytab H1{
font-size: 44pt;
text-align: right;
background-color: linen;
}
#mytab H2{
font-size: 16pt;
font-weight: bold;
text-align: left;
background-color: linen;
}
"

ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(sidebarMenu(menuItem("Welcome", tabName = "tab1", icon = icon("home")),
menuItem("Information", tabName = "tab2", icon = icon("table")))),
dashboardBody(
tags$style(css),
tabItems(
tabItem(tabName="tab1", div( id="mytab",
fluidRow(column(3,h1("Consent"))),
tags$hr(),
fluidRow(column(3,h2(strong("Investigators")))),
fluidRow(column(9,"The investigators of this project are:")),
fluidRow(column(9,"Dr Adam Hodgkins","(",tags$a (href="adam@hodgkins.com.au","adam@hodgkins.com.au"),")")),
fluidRow(column(9,"Dr Hodgkins can be contacted by telephone on 0414 296 699. ")),
tags$hr(),
fluidRow(column(3,h1(strong("Consent")))),
fluidRow(column(12,"The practice owners have been given information about the research project titled “Life, death and statins: Survival analysis of elderly general practice patients in relation to statin prescriptions.”")),
fluidRow(column(12,"The practice owners have been provided the opportunity to discuss the research with the investigators who are conducting this research as part of the University of Wollongong. ")),
fluidRow(column(12,"The practice owners have been advised of any possible risks or burdens associated with this research and have had the opportunity to ask the investigators any questions they may have about the research and my participation.

")),
tags$hr(),
fluidRow(column(12,"I understand our practice’s participation is voluntary, our practice is free to choose not to participate and is free to withdraw from the research at any time. Our practice’s choice to not participate or to withdraw consent will not affect its relationship with the researchers or the University of Wollongong. 

"))
)),
tabItem(tabName = "tab2",
fluidRow(column(3,h3("Concent"))),
tags$hr(),
fluidRow(column(3,h5(strong("Investigators")))),
fluidRow(column(9,"The investigators of this project are:")),
fluidRow(column(9,"Dr Adam Hodgkins","(",tags$a (href="adam@hodgkins.com.au","adam@hodgkins.com.au"),")")),
fluidRow(column(9,"Dr Hodgkins can be contacted by telephone on 0414 296 699. ")),
tags$hr(),
fluidRow(column(3,h5(strong("Consent")))),
fluidRow(column(12,"The practice owners have been given information about the research project titled “Life, death and statins: Survival analysis of elderly general practice patients in relation to statin prescriptions.”")),
fluidRow(column(12,"The practice owners have been provided the opportunity to discuss the research with the investigators who are conducting this research as part of the University of Wollongong. ")),
fluidRow(column(12,"The practice owners have been advised of any possible risks or burdens associated with this research and have had the opportunity to ask the investigators any questions they may have about the research and my participation.

")))
)

)
)
server <- function(input, output) {NULL}
shinyApp(ui, server)

最新更新