2017-08-24 27 views
1

私はそうのようなファイル入力機能を構築してきたRシャイニーアプリ、に取り組んでいます。今、私はそれは、下の画像では(ここでは供給labelのフォント設定を変更しようとしていますR Shiny fileInputのラベルテキストのサイズ/間隔を変更しますか?

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) 
    } 

"File in"です)。フォントは長いラベルでは大きすぎるように見え、時にはぎこちないように見えます。

  • これらのラベルのフォントサイズを変更する方法はありますか?

  • タブや改行などの空白を追加する方法はありますか?

docsは、単にこのlabelがラベルなしのため

表示制御のためのラベル、またはNULLであると言います。

R Shiny Screenshot

あり、一般的にSOに関するシャイニーテキストレンダリングにotherquestionsていますが、私はこれらのラベルは、同様に実装されていることを確認していないと私はWebスクリプトの知識がないので、任意のヘルプははるかにあるき感謝。

答えて

2

This articleきれいにCSSを使ってShinyをスタイルすることができる3つの方法を要約します。いくつかの要素を超えてスタイルを完成させる場合は、CSSをスタイルシート(実際の.cssファイル)に追加することが最善の方法です。実際のCSSファイルは、 "www"というサブディレクトリに配置する必要があります。あなたのアプリディレクトリにあります。

あなただけの1要素(関数からの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ラベルの場合、実際の<label> HTMLタグがターゲットになります。スタイルシートを必要としないようにするには、Shinyの記事(tags機能を使用)に記載されている3番目の方法で必要なCSSを追加できます。あなたは、フォントを変更し、ラベルの下パディングを追加する(右fluidPageの上部に)あなたのUIに次のコードを追加することができます。ハード

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

この回答岩、おかげで、このために。 – patrick

関連する問題