R Shiny中fileInput和checkboxInput之间的额外行

时间:2017-07-22 16:02:38

标签: r shiny

看起来在Shiny中的fileInput和checkboxInput之间有一个额外的空间(即使我没有添加额外的行)。我如何摆脱额外的线?谢谢!

if (interactive()) {

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      fileInput("file1", "Choose CSV File",
        accept = c(
          "text/csv",
          "text/comma-separated-values,text/plain",
          ".csv")
        ),
      checkboxInput("header", "Header", TRUE)
    ),
    mainPanel(
      tableOutput("contents")
    )
  )
)

server <- function(input, output) {
  output$contents <- renderTable({
    inFile <- input$file1    
    if (is.null(inFile))
      return(NULL)    
    read.csv(inFile$datapath, header = input$header)
  })
}

shinyApp(ui, server)
}

1 个答案:

答案 0 :(得分:0)

嗯,这是进度条的空间。您可以使用CSS删除周围元素的边距,方法是加载包shinyjs并将其插入UI中的任何位置:

inlineCSS(list(".shiny-input-container" = "margin-bottom: 0px", 
               "#file1_progress" = "margin-bottom: 0px", 
               ".checkbox" = "margin-top: 0px"))

或者,如果你想在没有额外包的情况下做原生CSS:

      tags$style(".shiny-input-container {margin-bottom: 0px} #file1_progress { margin-bottom: 0px } .checkbox { margin-top: 0px}"),

Tipp:右键单击要删除的空间,然后选择“Inspect element”。然后,您可以看到空间所属的HTML节点。

enter image description here