2015-12-17 3 views
6

Есть ли способ подгонки какого-то текста на shinydashboard с переносом слов? Поведение по умолчанию, по-видимому, связано с тем, что оно перетекает в область тела.shinydashboard Переполнение меню боковой панели

Я хотел бы избежать изменения css напрямую, однако, если есть обходное решение, которое включает в себя изменение CSS как части самого кода server/ui, тогда я открыт для этого.

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

, если вы хотите изменить его как часть кода, вы всегда можете использовать 'теги $ head (теги $ style (PUTCSSCODEHERE))'. Вы можете всегда вставлять свои css программно, если вы хотите вернуть те теги из 'renderUI' – Shape

ответ

0

, что о чем-то вроде этого

... 
    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» (этот вариант это в любом случае в этой версии Shinydashboard) определяет «бело-пространство: Nowrap важно» для класса «sidebar-menu», а также «li» с заголовком класса, которые являются прямыми потомками элементов с классом «sidebar-menu». Я видел, что элементы «li» в меню боковой панели моего приложения Shinydashboard не имеют класса «header», поэтому я перепробовал «белое пространство: nowrap! Important» (это применялось, поскольку элемент «ul», содержащий меню имеет класс «sidebar-menu»), добавив следующий CSS в пользовательский файл CSS:

.sidebar-menu > li { 
    white-space: normal; 
} 
Смежные вопросы