闪亮:标签位置,textInput

Man*_*s C 2 css styles r shiny

让我们假设我有一个非常简单的应用程序,只有8个输入分组在2个面板中(4个输入| 4个输入 - 见下图),并根据这些,我绘制一个小图(容易peasy).

我要制作的小组

我面临的问题是我想要仅为第一个面板和textInput框的左侧设置标签.

例如(请原谅我的草率图像编辑!)

在此输入图像描述

有什么建议吗?

我的MWE图1输出:

library(shiny)
ui<-shinyUI(fluidPage(
  wellPanel(
    tags$style(type="text/css", '#leftPanel { max-width:300px; float:left;}'),
    id = "leftPanel",
    textInput("Population1000", 'Population 1000',"15"),
    textInput("Area1000",'Area  1000', "20"),
    textInput("GNI1000", 'GNI 1000', "2314"),
    textInput("GDP1000", "GDP 1000", "1000")
  ),
  wellPanel(
    tags$style(type="text/css", '#RightPanel { max-width:300px; float:left;}'),
    id = "RightPanel",
    textInput("Population2000", 'Population 2000',"15"),
    textInput("Area2000",'Area 2000', "20"),
    textInput("GNI2000", 'GNI 2000', "2314"),
    textInput("GDP2000", "GDP 2000", "1000")
  )
)
)
server<-shinyServer(function(input, output) {NULL})
shinyApp(ui,server)
Run Code Online (Sandbox Code Playgroud)

Vic*_*orp 5

您好,您可以尝试使用Bootstrap的水平形式,查看下面的代码,它创建3列宽度为4的每列.您可以更改class = "col-sm-4 control-label"标签的宽度和width = 4输入的宽度.

library("shiny")
ui <- fluidPage(

  fluidRow(
    column(

      width = 4,

      tags$form(
        class="form-horizontal",

        tags$div(
          class="form-group",
          tags$label(class = "col-sm-4 control-label", `for` = "Population1000", br(), "Population"),
          column(width = 4, textInput(inputId = "Population1000", label = "Year 1000", value = "15")),
          column(width = 4, textInput(inputId = "Population2000", label = "Year 2000", value = "15"))
        ),

        tags$div(
          class="form-group",
          tags$label(class = "col-sm-4 control-label", `for` = "Area1000", "Area"),
          column(width = 4, textInput(inputId = "Area1000", label = NULL, value = "20")),
          column(width = 4, textInput(inputId = "Area2000", label = NULL, value = "20"))
        ),

        "..."

      )
    )
  )

)

server <- function(input, output) {

}

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

PS:您不应该使用相同的ID进行输入.