Shiny - 绘制列的右边框

10

假设我有以下 Shiny UI 代码:

fluidRow(
  column(
    width=4
  ),

  column(
    width=8
  )
)

我该如何绘制第一列的右边框?


添加自定义CSS?我想Shiny不支持在列边框上绘制线条。 - vladli
2个回答

14

您可以使用style参数将CSS添加到列中。因此,一种方法是:

library(shiny)

ui <- fluidPage(
  fluidRow(
    column(style='border-right: 1px solid red',
      width=4,
      p('Hello')
    ),

    column(
      width=8,
      p('World')
    )
  )
)

server <- function(input,output) {}

shinyApp(ui,server)

希望这能帮到你!


是的@Florian非常感谢!我知道有自定义CSS选项,但无法画出线条。我错过了你放在那里的“solid”。这就是当你不懂CSS却试图自定义Shiny时会发生的事情。 - Xam Eseerts

1
另一种处理方法是在对象(在本例中为列)之外创建html样式,并为该列分配一个css类。通过以这种方式创建样式,您可以更有效地将样式应用于另一列。
library(shiny)

ui <- fluidPage(
tags$head(
tags$style(HTML("
  
  .column_w_bar {
      border-right-color: #eb4034;
      border-right-width: 1px;
      border-right-style: solid;
}
") # end HTML
) # end tags$style
) # end tags$head

fluidRow(
  column(class = 'column_w_bar',
      width=4
  ),

  column(
      width=8
  )
 ) # end fluidRow
) # end FluidPage

在这个例子中,它是在R代码中使用tags$head()tags$style()。您也可以在闪亮项目的“www”文件夹中创建单独的.css文件中的样式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接