Некоторые выровненные по правому краю табельные панели в блестящем - PullRequest
0 голосов
/ 01 октября 2018

Используя navbarPage Я бы хотел, чтобы некоторые tabPanels были выровнены по правому краю, а остальные tabPanels и navbarMenus выровнены по левому краю:

Итак, вместо этого

library(shiny)    
ui =  tagList(
  navbarPage(
    title = "My app",
    navbarMenu("Left1",
               tabPanel("Subleft11"),
               tabPanel("Subleft12")),
    tabPanel("Left2"),
    tabPanel("Left3"),
    tabPanel("Right1"),
    tabPanel("Right2")
  )
)

server <- function(input, output, session) {}

shinyApp(ui, server)

enter image description here

Я хотел бы получить что-то вроде этого:

enter image description here

Решение от GyD отлично работает для tabsetPanel, но я не смог адаптировать его к navbarPage.Я пытался добавить

tags$head(
    tags$style(HTML(
      ".navbar ul li:nth-child(4) { float: right; }
      .navbar ul li:nth-child(5) { float: right; }"
    ))),

, но без желаемого эффекта.

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Может быть, что-то вроде этого:

tags$head(
    tags$style(HTML(
    "
    .navbar-header { width: 10% }
    .navbar-nav { width: 90% }
    .navbar-nav>li:nth-child(4) { float: right; }
    .navbar-nav>li:nth-child(5) { float: right; }"
)))
0 голосов
/ 01 октября 2018

Вы можете сделать это с помощью некоторых CSS.Это был бы простой пример, который выравнивает 4-й и 5-й элементы списка внутри класса navbar-nav a float: right;.

Включая right: 150px; для 4-го дочернего элемента, вы сохраняете вкладки в правильном порядке.

App.R

library(shiny)   
library(shinythemes)  

ui =  tagList(
    tags$head(tags$style(HTML("
                           .navbar-nav {
                           float: none !important;
                           }
                           .navbar-nav > li:nth-child(4) {
                           float: right;
                           right: 150px;
                           }
                           .navbar-nav > li:nth-child(5) {
                           float: right;
                           }
                           "))),
  navbarPage(
    title = "My app",
    theme = shinytheme("cerulean"),
    navbarMenu("Left1",
               tabPanel("Subleft11"),
               tabPanel("Subleft12")),
    tabPanel("Left2"),
    tabPanel("Left3"),

    tabPanel("Right1"),
    tabPanel("Right2")

    )
    )

server <- function(input, output, session) {}

shinyApp(ui, server)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...