2015-12-17 31 views
6

Czy istnieje jakiś sposób dopasowania tekstu na stronie shinydashboard z zawijaniem słów? Domyślnym zachowaniem wydaje się być rozlewanie się na obszar ciała.shinydashboard Przepełnienie menu paska bocznego

Chciałbym uniknąć modyfikowania css bezpośrednio, ale jeśli istnieje obejście, które wymaga modyfikacji CSS jako części samego kodu serwera/ui, jestem otwarty na to.

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

To brzmi jak coś, co można rozwiązać, ustawiając swój CSS. Coś takiego: http://www.w3schools.com/cssref/css3_pr_word-wrap.asp – Shape

+0

Próbowałem tego i kilka innych sztuczek CSS, ale nie mogłem znaleźć rozwiązania. Najlepsze, jakie udało mi się, to paski przewijania z opcją 'overflow'. – TheComeOnMan

+0

jeśli chcesz go zmodyfikować jako część kodu, zawsze możesz użyć 'tags $ head (tags $ style (PUTCSSCODEHERE))'. Zawsze możesz wkleić program CSS programowo, jeśli chcesz zwrócić te znaczniki z 'renderUI' – Shape

Odpowiedz

0

co coś takiego

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

To działałoby w tym odosobnionym przypadku. Może nie działać na różnych wyświetlaczach lub z innymi przedmiotami. – TheComeOnMan

+0

może powinieneś dodać kolejny przykład (lub jak mówisz inny ekran) do twojego pytania :) – MLavoie

+0

Za każdym razem, gdy zmieniam tekst, będę musiał ponownie przeliczyć położenie 'tags $ br()'. Dlatego nie będzie działać na różnych przedmiotach. – TheComeOnMan

2

Plik "AdminLTE.min.css" (ta wersja to i tak w tej wersji Shinydashboard) określa "white-space:! Nowrap ważne" dla klasy "sidebar-menu" oraz "li" elementów z klasą "header", które są bezpośrednimi potomkami elementów z klasą "sidebar-menu". Zauważyłem, że elementy "li" w menu na pasku bocznym mojej aplikacji Shinydashboard nie mają klasy "header", więc przejąłem "white-space: nowrap! Important" (to było stosowane, ponieważ element "ul" zawierający menu jest klasy "sidebar-menu"), dodając następujące CSS do niestandardowego pliku CSS:

.sidebar-menu > li { 
    white-space: normal; 
} 
Powiązane problemy