css - R 删除数据表单元格的填充

标签 css r shiny padding dt

我的 Shiny 网络应用程序中有一个数据表,我在其中插入了复选框。然而,我的实际数据集相当大。因此我想压缩数据表并分别减少填充。 虽然我已经找到了一些方法,但这不适用于复选框。

enter image description here

有人可以帮助我吗?
非常感谢!

这是我的可重现示例:

library(shiny)
library(DT)
library(tidyverse)

shinyApp(
  ui <- fluidPage(
    DT::dataTableOutput('x1')
  ),
  
  server<-function(input, output, session) {
    # create a character vector of shiny inputs
    shinyInput<-function(FUN, len, id, ...) {
      inputs <- character(len)
      for (i in seq_len(len)) {
        inputs[i] <- as.character(FUN(paste0(id, i), label=NULL, ...))
      }
      inputs
    }
    
    # a sample data frame
    values <- reactiveValues(res=data.frame(
      iris %>% slice(10),
      v2=shinyInput(checkboxInput, 10, 'v2_', value=FALSE)
    )
    )
    
    # render the table containing shiny inputs
    output$x1 <- DT::renderDataTable(
      datatable(values$res, escape = F),
      server=FALSE,
      escape=FALSE
    )
  }
)

最佳答案

你需要一点CSS 。严格来说,填充是很简单的。此规则的目标是包含在 ID 为“x1”的表中的表数据单元格元素 ( <td> )

ui <- fluidPage(
    DT::dataTableOutput('x1'),
    tags$style(HTML("
      #x1 td {
        padding-top: 0;
        padding-bottom: 0;
      }                
    "))
  )

这会压缩一些。如果您想进一步压缩它,您需要找到驱动行高的因素,然后确定目标。例如,复选框有下边距。您也可以删除它。如果您不知道,您可以使用浏览器的开发工具查看应用的 CSS。对于 Chrome,右键单击一行并选择“检查”

关于css - R 删除数据表单元格的填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75485729/

相关文章:

r - 如何将列表的元素合并到数据框中?在 R

使用 `by = .I` 在 data.table 中的行操作

r - 如何在 Shiny 的一个下载按钮中下载多个 png 图

jquery - Div 未在 FireFox 中正确定位

css - 在最后一帧停止 CSS3 动画

css - 标题菜单的问题

html - 为什么可以使用 CSS 而不是属性来设置一些 HTML 元素的样式

r - 绘制栅格时将 par() 设置更改为默认值

r - 使用 Shiny 的ggplot map 获得正确的点击坐标

javascript - 以多个 selectInput 为条件的 conditionalPanel