2015-12-17 5 views
6

何かの種類のテキストを単語ラップ付きのshinydashboardに収める方法はありますか?デフォルトの振る舞いは、ボディ領域にこぼれ落ちる可能性があります。shinydashboardサイドバーメニューオーバーフロー

私はCSSを直接​​変更しないようにしたいと思いますが、サーバー/ユーザーコード自体の一部としてCSSを変更する回避策がある場合は、それを開いています。

ui <- dashboardPage(
    dashboardHeader(
     title = "Sidebar spill" 

    ), 
    dashboardSidebar(
     sidebarMenu(
     menuItem(text = "sfsdf sfaosh oas fwue wi aseiu wehw wuer woeur owuer ") 
     ) 
    ), 
    dashboardBody(
     fluidRow(

    ) 
    ) 
) 

server <- function(input, output) { 

} 

shinyApp(ui, server) 
} 
+0

これは、CSSを設定することで解決できるもののようです。このようなもの:http://www.w3schools.com/cssref/css3_pr_word-wrap.asp – Shape

+0

私はこれを試してみましたが、他のいくつかのCSSトリックもありましたが、解決策を手に入れられませんでした。私が管理してきた最高のものは 'オーバーフロー 'のスクロールバーです。 – TheComeOnMan

+0

コードの一部として修正したい場合、 'tags $ head(tags $ style(PUTCSSCODEHERE))'を使うことができます。あなたは 'renderUI'からこれらのタグを返そうと思っているならば、あなたのcssをプログラムで貼り付けることができます – Shape

答えて

0

(とにかくそれのこのバージョンShinydashboardのこのバージョンでは)この

... 
    dashboardSidebar(
    sidebarMenu(
     tags$div(class="header", checked=NA, 
       tags$p("sfsdf sfaosh oas fwue", tags$br(), "wi aseiu wehw wuer woeur owuer") 
    ) 
    ) 
), 
... 
+0

これは、この分離されたケースでは機能します。異なるディスプレイや異なるアイテムでは機能しない可能性があります。 – TheComeOnMan

+0

多分あなたはあなたの質問に別の例を(または別のディスプレイと言って)追加する必要があります:) – MLavoie

+0

私はテキストを変更するたびに、 'tags $ br()'の配置を再計算する必要があります。だからこそ、それは別のアイテムでは動作しません。 – TheComeOnMan

2

ファイル「AdminLTE.min.css」のようなものについて、何が「ホワイトスペース:nowrap属性が重要!」を指定します"sidebar-menu"クラスの要素の直接の子孫であるクラス "header"を持つ "li"要素だけでなく、 "sidebar-menu"クラスの場合も同様です。私は、私のShinydashboardアプリケーションのサイドバーメニューにある "li"要素に "header"クラスがないことを知ったので、 "white-space:nowrap!important"をオーバーロードしました。カスタムCSSファイルに次のCSSを追加することにより、カスタムCSSファイルを追加できます。

.sidebar-menu > li { 
    white-space: normal; 
}