Я завершаю работу над приложением R Shiny и борюсь с разметкой блоков и заголовков. Поскольку у меня много блоков, я построил свой макет отдельно и закодировал его в пользовательском интерфейсе моего приложения Shiny, используя комбинацию FluidRow и столбца. Обычно каждый из моих блоков имеет заголовок в форме p (...), за которым следует некоторая информация в той же форме.
Так как мне нравится идея иметь боковую панель «управления»блоки на левой стороне моего приложения используются для управления различными входами, которые я использую в приложении. Когда пользователь делает вещи, блоки с левой стороны - это те, которые подвергаются воздействию и изменяются.
У меня есть блоки полной строки, которые принадлежат к той же "категории". Это динамический пользовательский интерфейс, который может иметь от 1 до 8 блоков, в зависимости от ввода слайдера, с которым пользователь может играть. Я пытаюсь добиться, чтобы одна строка заголовка (или параграф, или заголовок, не имеет значения) была линией над блоками, а затем имела блоки, сохраняя при этом только одну единицу на «панели управления» на панели управления. левая сторона.
Несколько изображений, чтобы прояснить это:
https://i.imgur.com/Htt4oIK.jpg - это то, что у меня сейчас есть для большинства моих блоков. Одна строка для заголовка (синяя), одна строка для контента (зеленая). Темно-зеленый - это общий «ряд», а красный - «блоки». Код для этого макета следующий:
fluidRow(
column(4, wellPanel()),
column(2, mainPanel(
p("blue"),
p("green")
)),
column(2, mainPanel()),
column(2, mainPanel()),
column(2, mainPanel())
)
Теперь, что:
https://i.imgur.com/i728blL.jpg - это то, чего я пытаюсь достичь, и я не смог достичьэтого результата пока нет. Я попробовал пару вещей:
1) Использование другого FluidRow для заголовка и для содержимого. Проблема с этим заключается в форматировании, так как поле управления слева является частью первой строки, оно ограничивает высоту самой строки, то есть заголовок будет намного выше содержимого. Это выглядит так: https://i.imgur.com/sU0AEds.jpg,, и я хочу сократить бесполезное пространство.
Синтаксис для этого будет:
fluidRow(
column(4, wellPanel()),
column(8, mainPanel(
p("blue")
))
),
fluidRow(
column(4, mainPanel()),
column(2, mainPanel(
p("green")
)),
column(2, mainPanel()),
column(2, mainPanel()),
column(2, mainPanel())
)
2) Расположить подблоки внутрибольший столбец. Код для этого будет выглядеть следующим образом:
fluidRow(
column(4, wellPanel()),
column(8, mainPanel(
p("blue"),
column(2, mainPanel(
p("green")
)),
column(2, mainPanel()),
column(2, mainPanel()),
column(2, mainPanel())
))
)
И проблема в том, что столбцы внутри столбцов, похоже, не работают должным образом. Вместо того, чтобы столбцы шириной 2 занимали все пространство моих столбцов шириной 8, они оказывались странной ширины и перекрывали друг друга.
Идеи? Там может быть простое решение HMTL, но я действительно не эксперт в этом. Спасибо!