【问题标题】:Change the size /spacing of label text in R Shiny fileInput?更改 R Shiny fileInput 中标签文本的大小/间距?
【发布时间】:2018-02-02 23:30:19
【问题描述】:

我正在开发一个 R Shiny 应用程序,我在其中构建了一个文件输入函数,如下所示:

  csvFileInput <- function(name_space, file_name="file", label = "Input file") {
    ns <- NS(name_space)
    # doc here: https://shiny.rstudio.com/reference/shiny/latest/fileInput.html
    fileInput(ns(file_name), label)
  }

现在我正在尝试更改此处提供的label 的字体设置(在下图中,它是“文件输入”)。字体对于较长的标签来说似乎太大了,有时看起来很笨重。

  • 有没有办法改变这些标签的字体大小?

  • 有没有办法添加空格,例如制表符或换行符?

docs 简单地说这个label

显示控件的标签,或 NULL 表示没有标签。

在 SO 上有 other questions 关于一般的闪亮文本渲染,但我不确定这些标签的实现方式是否类似,而且我不了解网络脚本,因此非常感谢任何帮助。

【问题讨论】:

    标签: css r shiny


    【解决方案1】:

    This article 非常简洁地总结了使用 CSS 设置 Shiny 样式的三种方式。如果您最终设计了多个元素的样式,通常最好通过样式表(即实际的 .css 文件)添加 CSS,在 Shiny 中需要将其放在名为“www”的子目录中,而这又是在您的应用程序目录中。

    如果您只设置一个元素的样式(“元素”表示函数的 UI 输出),并且希望样式应用于整个元素,则可以将元素包装在 div 标记中并使用style 属性如下:

    div(
       fileInput("file1", "Choose CSV File",
                   accept = c(
                   "text/csv",
                   "text/comma-separated-values,text/plain",
                   ".csv")
       ), style="font-size:80%; font-family:Arial;"
    )
    

    如果您只想为元素的一个组件设置样式,正如您所描述的,那么您需要使用浏览器中的开发人员工具来确定您可以针对哪些 HTML 进行样式设置。对于 fileInput 标签,实际的&lt;label&gt; HTML 标签是我们的目标。如果您不想使用样式表,则可以通过 Shiny 文章中描述的第三种方法添加必要的 CSS,即通过 tags 函数。您可以将以下代码添加到您的 UI(就在 fluidPage 的顶部)以更改字体并在标签下方添加填充:

    tags$head(
      tags$style(HTML(
        "label { font-size:80%; font-family:Times New Roman; margin-bottom: 
        20px; }"
      ))
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 2018-04-13
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多