R闪亮的表输出没有填充

时间:2016-12-06 22:41:13

标签: css r shiny html-table padding

我正在尝试创建一个应用程序,其中一些表没有填充。

server <- function(input, output) {
    url = c("http://lorempixel.com/output/animals-q-c-480-480-7.jpg",
            "http://lorempixel.com/output/animals-q-c-480-480-1.jpg",
            "http://lorempixel.com/output/animals-q-c-480-480-8.jpg",
            "http://lorempixel.com/output/animals-q-c-480-480-6.jpg"
           )

image <- paste0( '<img src="',url,'" width=WIDTH></img>')
big.image   <- gsub("WIDTH", "200px", image)
small.image <- gsub("WIDTH", "100px", image)

big.df   <- data.frame(col1 = c(big.image[1], "Lorem", big.image[2], "Ipsum"), 
                       col2 = c(big.image[3], "Dolor", big.image[4], "Sit"))
small.df <- data.frame(col1 = c(small.image[1], "Lorem", small.image[2], "Ipsum"), 
                       col2 = c(small.image[3], "Dolor", small.image[4], "Sit"))


output$bigtable   <- renderTable(big.df, 
                             sanitize.text.function = function(x) x,
                             align='c',
                             colnames=F
                             )
output$smalltable <- renderTable(small.df, 
                             sanitize.text.function = function(x) x,
                             align='c',
                             colnames=F
                             )
}

ui <- fluidPage(
    mainPanel(tableOutput("bigtable"),
          tableOutput("smalltable")
    )
)

上面的代码创建了一个带有大图像表和小图像表的应用程序。我希望大图像表保持其当前间距,并且小图像表没有间距。

ui <- fluidPage(
  tags$head(
   tags$style(HTML(
      "
    .table.shiny-table > thead > tr > th,
    .table.shiny-table > tbody > tr > th,
    .table.shiny-table > tfoot > tr > th,
    .table.shiny-table > thead > tr > td,
    .table.shiny-table > tbody > tr > td,
    .table.shiny-table > tfoot > tr > td {
    padding:0px; 

    }"))),
    mainPanel(tableOutput("bigtable"),
              tableOutput("smalltable")
    )
)

上面的代码将使所有表都没有间距,但我只希望第二个表没有间距。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以使用自己的ID调用第二个表:

ui <- fluidPage(
  tags$head(
    tags$style(HTML(
      "
      #smalltable table > thead > tr > th,
      #smalltable table > tbody > tr > th,
      #smalltable table > tfoot > tr > th,
      #smalltable table > thead > tr > td,
      #smalltable table > tbody > tr > td,
      #smalltable table > tfoot > tr > td {
      padding:0px; 

      }"))),
    mainPanel(tableOutput("bigtable"),
              tableOutput("smalltable")
    )
    )