Да, это возможно, и я думаю, что это, возможно, самый простой ответ (я могу быть исправлен здесь).
Ваш вопрос / был снижен до CSS для h2 (margin-top:20px
). Я завернул ваш titlePanel
в div
и дал ему идентификатор (test
), чтобы контролировать только CSS для этого конкретного элемента. Затем я добавил некоторые спецификации c CSS прямо в ваш код tags$style("#test h2 {margin-top: 10px;}")
. Это должно контролировать margin-top
специально для вашего titlePanel
и не должно влиять на любое последующее использование titelPanel
или h2()
.
Вы можете контролировать пространство, установив margin-top: 10px; на сумму px
, которая вам нравится.
library(shiny)
members <- data.frame(name=c("Name 1", "Name 2"), nr=c('BCRA1','FITM2'))
ui <- fluidPage(tags$style("#test h2 {margin-top: 10px;}"), # add style here
div(id = "test", titlePanel("Getting Iframe")), # add id here
sidebarLayout(
sidebarPanel(
fluidRow(
column(6, selectInput("Member", label=h5("Choose a option"),choices=c('BCRA1','FITM2'))
))),
mainPanel(fluidRow(
htmlOutput("frame")
)
)
))
server <- function(input, output) {
observe({
query <- members[which(members$nr==input$Member),2]
test <<- paste0("http://news.scibite.com/scibites/news.html?q=GENE$",query)
})
output$frame <- renderUI({
input$Member
my_test <- tags$iframe(src=test, height=1000, width=1035, frameborder = "yes")
print(my_test)
my_test
})
}
shinyApp(ui, server)