Create a page with fluid layout — fluidPage
R/bootstrap-layout.R
Description
Functions for creating fluid page layouts. A fluid page layout consists of rows which in turn include columns. Rows exist for the purpose of making sure their elements appear on the same line (if the browser has adequate width). Columns exist for the purpose of defining how much horizontal space within a 12-unit wide grid it's elements should occupy. Fluid pages scale their components in realtime to fill all available browser width.
Arguments
- ...
Elements to include within the page
- title
The browser window title (defaults to the host URL of the page). Can also be set as a side effect of the
titlePanel()
function.- theme
One of the following:
NULL
(the default), which implies a "stock" build of Bootstrap 3.A
bslib::bs_theme()
object. This can be used to replace a stock build of Bootstrap 3 with a customized version of Bootstrap 3 or higher.A character string pointing to an alternative Bootstrap stylesheet (normally a css file within the www directory, e.g.
www/bootstrap.css
).
- lang
ISO 639-1 language code for the HTML page, such as "en" or "ko". This will be used as the lang in the
<html>
tag, as in<html lang="en">
. The default (NULL) results in an empty string.
Value
A UI defintion that can be passed to the shinyUI function.
Details
To create a fluid page use the fluidPage
function and include
instances of fluidRow
and column()
within it. As an
alternative to low-level row and column functions you can also use
higher-level layout functions like sidebarLayout()
.
Note
See the Shiny-Application-Layout-Guide for additional details on laying out fluid pages.
See also
Other layout functions:
fillPage()
,
fixedPage()
,
flowLayout()
,
navbarPage()
,
sidebarLayout()
,
splitLayout()
,
verticalLayout()
Examples
## Only run examples in interactive R sessions
if (interactive()) {
# Example of UI with fluidPage
ui <- fluidPage(
# Application title
titlePanel("Hello Shiny!"),
sidebarLayout(
# Sidebar with a slider input
sidebarPanel(
sliderInput("obs",
"Number of observations:",
min = 0,
max = 1000,
value = 500)
),
# Show a plot of the generated distribution
mainPanel(
plotOutput("distPlot")
)
)
)
# Server logic
server <- function(input, output) {
output$distPlot <- renderPlot({
hist(rnorm(input$obs))
})
}
# Complete app with UI and server components
shinyApp(ui, server)
# UI demonstrating column layouts
ui <- fluidPage(
title = "Hello Shiny!",
fluidRow(
column(width = 4,
"4"
),
column(width = 3, offset = 2,
"3 offset 2"
)
)
)
shinyApp(ui, server = function(input, output) { })
}