Shiny app using fluidrow and columns has overflow issues Unicorn Meta Zoo #1: Why another podcast? Announcing the arrival of Valued Associate #679: Cesar Manara Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!How to sort a dataframe by multiple column(s)Drop data frame columns by nameCSS overflow-x: visible; and overflow-y: hidden; causing scrollbar issueHTML5 tag versus Div for Auto ResizingCenter a column using Twitter Bootstrap 3link item anchor CSS foreground color interactions between a and a:foo Changing the text color on a nav bar using Materialize CSS (rails)Bootstrap CSS Background-color not workingMake current div change relevant menu tab to activeBootstrap row still creates gap on right even there are columns inside

What do you call the part of a novel that is not dialog?

Could moose/elk survive in the Amazon forest?

How would I use different systems of magic when they are capable of the same effects?

How long after the last departure shall the airport stay open for an emergency return?

Is it OK if I do not take the receipt in Germany?

What is a 'Key' in computer science?

What is the least dense liquid under normal conditions?

Multiple options vs single option UI

c++ diamond problem - How to call base method only once

AI positioning circles within an arc at equal distances and heights

Error: Syntax error. Missing ')' for CASE Statement

Passing args from the bash script to the function in the script

Check if a string is entirely made of the same substring

How to use @AuraEnabled base class method in Lightning Component?

Why is an operator the quantum mechanical analogue of an observable?

Are all CP/M-80 implementations binary compatible?

Protagonist's race is hidden - should I reveal it?

How to keep bees out of canned beverages?

Arriving in Atlanta after US Preclearance in Dublin. Will I go through TSA security in Atlanta to transfer to a connecting flight?

Why didn't the Space Shuttle bounce back into space as many times as possible so as to lose a lot of kinetic energy up there?

Is Bran literally the world's memory?

"Rubric" as meaning "signature" or "personal mark" -- is this accepted usage?

What is the term for a person whose job is to place products on shelves in stores?

Additive group of local rings



Shiny app using fluidrow and columns has overflow issues



Unicorn Meta Zoo #1: Why another podcast?
Announcing the arrival of Valued Associate #679: Cesar Manara
Data science time! April 2019 and salary with experience
The Ask Question Wizard is Live!How to sort a dataframe by multiple column(s)Drop data frame columns by nameCSS overflow-x: visible; and overflow-y: hidden; causing scrollbar issueHTML5 tag versus Div for Auto ResizingCenter a column using Twitter Bootstrap 3link item anchor CSS foreground color interactions between a and a:foo Changing the text color on a nav bar using Materialize CSS (rails)Bootstrap CSS Background-color not workingMake current div change relevant menu tab to activeBootstrap row still creates gap on right even there are columns inside



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








2















I am using fluid row and columns layout in a shiny app. When I reduce the screen size the elements in two columns overlap. If they are two different columns and using fluid row shouldn't the contents overlap. Below is the code. I have two columns with width 4 and 8. They seem to be working fine in regular screen size but as soon as I minimize the window they overlap.



library(shiny)
library(shinyjs)

ui <- navbarPage(
"Bootstrap scrollspy on multiple tabs",
id = "navbar",
header = div(
useShinyjs(),
extendShinyjs("www/app-shinyjs.js", functions = c("updateScrollspy")),
includeCSS("www/app.css"),
includeScript("https://cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/1.4.3/jquery.scrollTo.min.js")
),

# tab 1 contains 4 sections and a scrollspy on the left with text
tabPanel(
"tab1",
div(id = "tab1-content",
fluidRow(
column(
4,
div(
id = "tab1-scrollspy",
class = "potential-scrollspy",
tags$ul(
class = "nav nav-pills nav-stacked",
tags$li(tags$a(href = "#section1-1", "Section 1-1")),
tags$li(tags$a(href = "#section1-2", "Section 1-2")),
tags$li(tags$a(href = "#section1-3", "Section 1-3")),
tags$li(tags$a(href = "#section1-4", "Section 1-4"))
)
)
),
column(
8,
div(id = "section1-1",
class = "scrollspy-section",
p('Section 1-1')
),
div(id = "section1-2",
class = "scrollspy-section",
p('Section 1-2')
),
div(id = "section1-3",
class = "scrollspy-section",
p('Section 1-3')
),
div(id = "section1-4",
class = "scrollspy-section",
p('Section 1-4')
)
)
)
)
),

# tab 2 contains 3 sections and a scrollspy on the right without text
tabPanel(
"tab2",
div(id = "tab2-content",
fluidRow(
column(
8,
div(id = "section2-1",
class = "scrollspy-section",
p('Section 2-1')
),
div(id = "section2-2",
class = "scrollspy-section",
p('Section 2-2')
),
div(id = "section2-3",
class = "scrollspy-section",
p('Section 2-3')
)
),
column(
4,
div(
id = "tab2-scrollspy",
class = "potential-scrollspy",
`data-offset` = 50,
tags$ul(
class = "nav nav-pills nav-stacked",
tags$li(tags$a(href = "#section2-1")),
tags$li(tags$a(href = "#section2-2")),
tags$li(tags$a(href = "#section2-3"))
)
)
)
)
)
)
)

server <- function(input, output, session)
# when changing tabs, update the scrollspy control
observeEvent(input$navbar,
js$updateScrollspy(input$navbar)
)


shinyApp(ui = ui, server = server)


Screen size reduced :
enter image description here






// initialize common scrollspy control
shinyjs.init = function()
$('body').scrollspy( target: '.active-scrollspy' );


// update the active scrollspy control and refresh so that it will function
shinyjs.updateScrollspy = function(tab)
// make all scrollspy controls inactive
$('active-scrollspy').removeClass('active-scrollspy');
// get the content in the current tab
var $tabContent = $('#' + tab + '-content');
if ($tabContent.length)
// find the scrollspy control in the current tab
var $scrollspy = $tabContent.find('.potential-scrollspy');
if ($scrollspy.length)
// mark the scrollspy in the current tab as active
$scrollspy.addClass('active-scrollspy');
// figure out the offset for this scrollspy
var offset = 0;
if ($scrollspy.data('offset'))
offset = $scrollspy.data('offset');

// update the scrollspy object
$('body').data('bs.scrollspy').options.offset = offset;
$('body').scrollspy('refresh');
// unbind click events and re-bind clicks to animate scrolling
$scrollspy.unbind('click.scrollto');
$scrollspy.bind('click.scrollto', 'ul li a', function(event)
event.preventDefault();
$.scrollTo(event.target.hash, 500,
offset: -offset
);
);



#tab1-content .scrollspy-section 
height: 500px;
border: 1px solid #DDD;

#tab1-scrollspy
position: fixed;

#tab1-scrollspy li > a
background-color: #FFF;

#tab1-scrollspy li > a:hover
background-color: #EEE;

#tab1-scrollspy li.active > a
background-color: #AAA;

#tab2-content .scrollspy-section
height: 900px;
border: 1px solid #DDD;

#tab2-scrollspy
position: fixed;
top: 300px;

#tab2-scrollspy li > a
padding: 0;
width: 15px;
height: 15px;
background-color: #DDD;
margin-bottom: 5px;

#tab2-scrollspy li > a:hover
background-color: #AAA;

#tab2-scrollspy li.active > a
background-color: #444;












share|improve this question
























  • You should post app-shinyjs.js and app.css files in order to reproduce your code.

    – alessio
    Mar 24 at 22:39











  • @alessio I have just added the supporting files.

    – SNT
    Mar 25 at 1:26

















2















I am using fluid row and columns layout in a shiny app. When I reduce the screen size the elements in two columns overlap. If they are two different columns and using fluid row shouldn't the contents overlap. Below is the code. I have two columns with width 4 and 8. They seem to be working fine in regular screen size but as soon as I minimize the window they overlap.



library(shiny)
library(shinyjs)

ui <- navbarPage(
"Bootstrap scrollspy on multiple tabs",
id = "navbar",
header = div(
useShinyjs(),
extendShinyjs("www/app-shinyjs.js", functions = c("updateScrollspy")),
includeCSS("www/app.css"),
includeScript("https://cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/1.4.3/jquery.scrollTo.min.js")
),

# tab 1 contains 4 sections and a scrollspy on the left with text
tabPanel(
"tab1",
div(id = "tab1-content",
fluidRow(
column(
4,
div(
id = "tab1-scrollspy",
class = "potential-scrollspy",
tags$ul(
class = "nav nav-pills nav-stacked",
tags$li(tags$a(href = "#section1-1", "Section 1-1")),
tags$li(tags$a(href = "#section1-2", "Section 1-2")),
tags$li(tags$a(href = "#section1-3", "Section 1-3")),
tags$li(tags$a(href = "#section1-4", "Section 1-4"))
)
)
),
column(
8,
div(id = "section1-1",
class = "scrollspy-section",
p('Section 1-1')
),
div(id = "section1-2",
class = "scrollspy-section",
p('Section 1-2')
),
div(id = "section1-3",
class = "scrollspy-section",
p('Section 1-3')
),
div(id = "section1-4",
class = "scrollspy-section",
p('Section 1-4')
)
)
)
)
),

# tab 2 contains 3 sections and a scrollspy on the right without text
tabPanel(
"tab2",
div(id = "tab2-content",
fluidRow(
column(
8,
div(id = "section2-1",
class = "scrollspy-section",
p('Section 2-1')
),
div(id = "section2-2",
class = "scrollspy-section",
p('Section 2-2')
),
div(id = "section2-3",
class = "scrollspy-section",
p('Section 2-3')
)
),
column(
4,
div(
id = "tab2-scrollspy",
class = "potential-scrollspy",
`data-offset` = 50,
tags$ul(
class = "nav nav-pills nav-stacked",
tags$li(tags$a(href = "#section2-1")),
tags$li(tags$a(href = "#section2-2")),
tags$li(tags$a(href = "#section2-3"))
)
)
)
)
)
)
)

server <- function(input, output, session)
# when changing tabs, update the scrollspy control
observeEvent(input$navbar,
js$updateScrollspy(input$navbar)
)


shinyApp(ui = ui, server = server)


Screen size reduced :
enter image description here






// initialize common scrollspy control
shinyjs.init = function()
$('body').scrollspy( target: '.active-scrollspy' );


// update the active scrollspy control and refresh so that it will function
shinyjs.updateScrollspy = function(tab)
// make all scrollspy controls inactive
$('active-scrollspy').removeClass('active-scrollspy');
// get the content in the current tab
var $tabContent = $('#' + tab + '-content');
if ($tabContent.length)
// find the scrollspy control in the current tab
var $scrollspy = $tabContent.find('.potential-scrollspy');
if ($scrollspy.length)
// mark the scrollspy in the current tab as active
$scrollspy.addClass('active-scrollspy');
// figure out the offset for this scrollspy
var offset = 0;
if ($scrollspy.data('offset'))
offset = $scrollspy.data('offset');

// update the scrollspy object
$('body').data('bs.scrollspy').options.offset = offset;
$('body').scrollspy('refresh');
// unbind click events and re-bind clicks to animate scrolling
$scrollspy.unbind('click.scrollto');
$scrollspy.bind('click.scrollto', 'ul li a', function(event)
event.preventDefault();
$.scrollTo(event.target.hash, 500,
offset: -offset
);
);



#tab1-content .scrollspy-section 
height: 500px;
border: 1px solid #DDD;

#tab1-scrollspy
position: fixed;

#tab1-scrollspy li > a
background-color: #FFF;

#tab1-scrollspy li > a:hover
background-color: #EEE;

#tab1-scrollspy li.active > a
background-color: #AAA;

#tab2-content .scrollspy-section
height: 900px;
border: 1px solid #DDD;

#tab2-scrollspy
position: fixed;
top: 300px;

#tab2-scrollspy li > a
padding: 0;
width: 15px;
height: 15px;
background-color: #DDD;
margin-bottom: 5px;

#tab2-scrollspy li > a:hover
background-color: #AAA;

#tab2-scrollspy li.active > a
background-color: #444;












share|improve this question
























  • You should post app-shinyjs.js and app.css files in order to reproduce your code.

    – alessio
    Mar 24 at 22:39











  • @alessio I have just added the supporting files.

    – SNT
    Mar 25 at 1:26













2












2








2


1






I am using fluid row and columns layout in a shiny app. When I reduce the screen size the elements in two columns overlap. If they are two different columns and using fluid row shouldn't the contents overlap. Below is the code. I have two columns with width 4 and 8. They seem to be working fine in regular screen size but as soon as I minimize the window they overlap.



library(shiny)
library(shinyjs)

ui <- navbarPage(
"Bootstrap scrollspy on multiple tabs",
id = "navbar",
header = div(
useShinyjs(),
extendShinyjs("www/app-shinyjs.js", functions = c("updateScrollspy")),
includeCSS("www/app.css"),
includeScript("https://cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/1.4.3/jquery.scrollTo.min.js")
),

# tab 1 contains 4 sections and a scrollspy on the left with text
tabPanel(
"tab1",
div(id = "tab1-content",
fluidRow(
column(
4,
div(
id = "tab1-scrollspy",
class = "potential-scrollspy",
tags$ul(
class = "nav nav-pills nav-stacked",
tags$li(tags$a(href = "#section1-1", "Section 1-1")),
tags$li(tags$a(href = "#section1-2", "Section 1-2")),
tags$li(tags$a(href = "#section1-3", "Section 1-3")),
tags$li(tags$a(href = "#section1-4", "Section 1-4"))
)
)
),
column(
8,
div(id = "section1-1",
class = "scrollspy-section",
p('Section 1-1')
),
div(id = "section1-2",
class = "scrollspy-section",
p('Section 1-2')
),
div(id = "section1-3",
class = "scrollspy-section",
p('Section 1-3')
),
div(id = "section1-4",
class = "scrollspy-section",
p('Section 1-4')
)
)
)
)
),

# tab 2 contains 3 sections and a scrollspy on the right without text
tabPanel(
"tab2",
div(id = "tab2-content",
fluidRow(
column(
8,
div(id = "section2-1",
class = "scrollspy-section",
p('Section 2-1')
),
div(id = "section2-2",
class = "scrollspy-section",
p('Section 2-2')
),
div(id = "section2-3",
class = "scrollspy-section",
p('Section 2-3')
)
),
column(
4,
div(
id = "tab2-scrollspy",
class = "potential-scrollspy",
`data-offset` = 50,
tags$ul(
class = "nav nav-pills nav-stacked",
tags$li(tags$a(href = "#section2-1")),
tags$li(tags$a(href = "#section2-2")),
tags$li(tags$a(href = "#section2-3"))
)
)
)
)
)
)
)

server <- function(input, output, session)
# when changing tabs, update the scrollspy control
observeEvent(input$navbar,
js$updateScrollspy(input$navbar)
)


shinyApp(ui = ui, server = server)


Screen size reduced :
enter image description here






// initialize common scrollspy control
shinyjs.init = function()
$('body').scrollspy( target: '.active-scrollspy' );


// update the active scrollspy control and refresh so that it will function
shinyjs.updateScrollspy = function(tab)
// make all scrollspy controls inactive
$('active-scrollspy').removeClass('active-scrollspy');
// get the content in the current tab
var $tabContent = $('#' + tab + '-content');
if ($tabContent.length)
// find the scrollspy control in the current tab
var $scrollspy = $tabContent.find('.potential-scrollspy');
if ($scrollspy.length)
// mark the scrollspy in the current tab as active
$scrollspy.addClass('active-scrollspy');
// figure out the offset for this scrollspy
var offset = 0;
if ($scrollspy.data('offset'))
offset = $scrollspy.data('offset');

// update the scrollspy object
$('body').data('bs.scrollspy').options.offset = offset;
$('body').scrollspy('refresh');
// unbind click events and re-bind clicks to animate scrolling
$scrollspy.unbind('click.scrollto');
$scrollspy.bind('click.scrollto', 'ul li a', function(event)
event.preventDefault();
$.scrollTo(event.target.hash, 500,
offset: -offset
);
);



#tab1-content .scrollspy-section 
height: 500px;
border: 1px solid #DDD;

#tab1-scrollspy
position: fixed;

#tab1-scrollspy li > a
background-color: #FFF;

#tab1-scrollspy li > a:hover
background-color: #EEE;

#tab1-scrollspy li.active > a
background-color: #AAA;

#tab2-content .scrollspy-section
height: 900px;
border: 1px solid #DDD;

#tab2-scrollspy
position: fixed;
top: 300px;

#tab2-scrollspy li > a
padding: 0;
width: 15px;
height: 15px;
background-color: #DDD;
margin-bottom: 5px;

#tab2-scrollspy li > a:hover
background-color: #AAA;

#tab2-scrollspy li.active > a
background-color: #444;












share|improve this question
















I am using fluid row and columns layout in a shiny app. When I reduce the screen size the elements in two columns overlap. If they are two different columns and using fluid row shouldn't the contents overlap. Below is the code. I have two columns with width 4 and 8. They seem to be working fine in regular screen size but as soon as I minimize the window they overlap.



library(shiny)
library(shinyjs)

ui <- navbarPage(
"Bootstrap scrollspy on multiple tabs",
id = "navbar",
header = div(
useShinyjs(),
extendShinyjs("www/app-shinyjs.js", functions = c("updateScrollspy")),
includeCSS("www/app.css"),
includeScript("https://cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/1.4.3/jquery.scrollTo.min.js")
),

# tab 1 contains 4 sections and a scrollspy on the left with text
tabPanel(
"tab1",
div(id = "tab1-content",
fluidRow(
column(
4,
div(
id = "tab1-scrollspy",
class = "potential-scrollspy",
tags$ul(
class = "nav nav-pills nav-stacked",
tags$li(tags$a(href = "#section1-1", "Section 1-1")),
tags$li(tags$a(href = "#section1-2", "Section 1-2")),
tags$li(tags$a(href = "#section1-3", "Section 1-3")),
tags$li(tags$a(href = "#section1-4", "Section 1-4"))
)
)
),
column(
8,
div(id = "section1-1",
class = "scrollspy-section",
p('Section 1-1')
),
div(id = "section1-2",
class = "scrollspy-section",
p('Section 1-2')
),
div(id = "section1-3",
class = "scrollspy-section",
p('Section 1-3')
),
div(id = "section1-4",
class = "scrollspy-section",
p('Section 1-4')
)
)
)
)
),

# tab 2 contains 3 sections and a scrollspy on the right without text
tabPanel(
"tab2",
div(id = "tab2-content",
fluidRow(
column(
8,
div(id = "section2-1",
class = "scrollspy-section",
p('Section 2-1')
),
div(id = "section2-2",
class = "scrollspy-section",
p('Section 2-2')
),
div(id = "section2-3",
class = "scrollspy-section",
p('Section 2-3')
)
),
column(
4,
div(
id = "tab2-scrollspy",
class = "potential-scrollspy",
`data-offset` = 50,
tags$ul(
class = "nav nav-pills nav-stacked",
tags$li(tags$a(href = "#section2-1")),
tags$li(tags$a(href = "#section2-2")),
tags$li(tags$a(href = "#section2-3"))
)
)
)
)
)
)
)

server <- function(input, output, session)
# when changing tabs, update the scrollspy control
observeEvent(input$navbar,
js$updateScrollspy(input$navbar)
)


shinyApp(ui = ui, server = server)


Screen size reduced :
enter image description here






// initialize common scrollspy control
shinyjs.init = function()
$('body').scrollspy( target: '.active-scrollspy' );


// update the active scrollspy control and refresh so that it will function
shinyjs.updateScrollspy = function(tab)
// make all scrollspy controls inactive
$('active-scrollspy').removeClass('active-scrollspy');
// get the content in the current tab
var $tabContent = $('#' + tab + '-content');
if ($tabContent.length)
// find the scrollspy control in the current tab
var $scrollspy = $tabContent.find('.potential-scrollspy');
if ($scrollspy.length)
// mark the scrollspy in the current tab as active
$scrollspy.addClass('active-scrollspy');
// figure out the offset for this scrollspy
var offset = 0;
if ($scrollspy.data('offset'))
offset = $scrollspy.data('offset');

// update the scrollspy object
$('body').data('bs.scrollspy').options.offset = offset;
$('body').scrollspy('refresh');
// unbind click events and re-bind clicks to animate scrolling
$scrollspy.unbind('click.scrollto');
$scrollspy.bind('click.scrollto', 'ul li a', function(event)
event.preventDefault();
$.scrollTo(event.target.hash, 500,
offset: -offset
);
);



#tab1-content .scrollspy-section 
height: 500px;
border: 1px solid #DDD;

#tab1-scrollspy
position: fixed;

#tab1-scrollspy li > a
background-color: #FFF;

#tab1-scrollspy li > a:hover
background-color: #EEE;

#tab1-scrollspy li.active > a
background-color: #AAA;

#tab2-content .scrollspy-section
height: 900px;
border: 1px solid #DDD;

#tab2-scrollspy
position: fixed;
top: 300px;

#tab2-scrollspy li > a
padding: 0;
width: 15px;
height: 15px;
background-color: #DDD;
margin-bottom: 5px;

#tab2-scrollspy li > a:hover
background-color: #AAA;

#tab2-scrollspy li.active > a
background-color: #444;








// initialize common scrollspy control
shinyjs.init = function()
$('body').scrollspy( target: '.active-scrollspy' );


// update the active scrollspy control and refresh so that it will function
shinyjs.updateScrollspy = function(tab)
// make all scrollspy controls inactive
$('active-scrollspy').removeClass('active-scrollspy');
// get the content in the current tab
var $tabContent = $('#' + tab + '-content');
if ($tabContent.length)
// find the scrollspy control in the current tab
var $scrollspy = $tabContent.find('.potential-scrollspy');
if ($scrollspy.length)
// mark the scrollspy in the current tab as active
$scrollspy.addClass('active-scrollspy');
// figure out the offset for this scrollspy
var offset = 0;
if ($scrollspy.data('offset'))
offset = $scrollspy.data('offset');

// update the scrollspy object
$('body').data('bs.scrollspy').options.offset = offset;
$('body').scrollspy('refresh');
// unbind click events and re-bind clicks to animate scrolling
$scrollspy.unbind('click.scrollto');
$scrollspy.bind('click.scrollto', 'ul li a', function(event)
event.preventDefault();
$.scrollTo(event.target.hash, 500,
offset: -offset
);
);



#tab1-content .scrollspy-section 
height: 500px;
border: 1px solid #DDD;

#tab1-scrollspy
position: fixed;

#tab1-scrollspy li > a
background-color: #FFF;

#tab1-scrollspy li > a:hover
background-color: #EEE;

#tab1-scrollspy li.active > a
background-color: #AAA;

#tab2-content .scrollspy-section
height: 900px;
border: 1px solid #DDD;

#tab2-scrollspy
position: fixed;
top: 300px;

#tab2-scrollspy li > a
padding: 0;
width: 15px;
height: 15px;
background-color: #DDD;
margin-bottom: 5px;

#tab2-scrollspy li > a:hover
background-color: #AAA;

#tab2-scrollspy li.active > a
background-color: #444;





// initialize common scrollspy control
shinyjs.init = function()
$('body').scrollspy( target: '.active-scrollspy' );


// update the active scrollspy control and refresh so that it will function
shinyjs.updateScrollspy = function(tab)
// make all scrollspy controls inactive
$('active-scrollspy').removeClass('active-scrollspy');
// get the content in the current tab
var $tabContent = $('#' + tab + '-content');
if ($tabContent.length)
// find the scrollspy control in the current tab
var $scrollspy = $tabContent.find('.potential-scrollspy');
if ($scrollspy.length)
// mark the scrollspy in the current tab as active
$scrollspy.addClass('active-scrollspy');
// figure out the offset for this scrollspy
var offset = 0;
if ($scrollspy.data('offset'))
offset = $scrollspy.data('offset');

// update the scrollspy object
$('body').data('bs.scrollspy').options.offset = offset;
$('body').scrollspy('refresh');
// unbind click events and re-bind clicks to animate scrolling
$scrollspy.unbind('click.scrollto');
$scrollspy.bind('click.scrollto', 'ul li a', function(event)
event.preventDefault();
$.scrollTo(event.target.hash, 500,
offset: -offset
);
);



#tab1-content .scrollspy-section 
height: 500px;
border: 1px solid #DDD;

#tab1-scrollspy
position: fixed;

#tab1-scrollspy li > a
background-color: #FFF;

#tab1-scrollspy li > a:hover
background-color: #EEE;

#tab1-scrollspy li.active > a
background-color: #AAA;

#tab2-content .scrollspy-section
height: 900px;
border: 1px solid #DDD;

#tab2-scrollspy
position: fixed;
top: 300px;

#tab2-scrollspy li > a
padding: 0;
width: 15px;
height: 15px;
background-color: #DDD;
margin-bottom: 5px;

#tab2-scrollspy li > a:hover
background-color: #AAA;

#tab2-scrollspy li.active > a
background-color: #444;






css r shiny






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 25 at 1:24







SNT

















asked Mar 22 at 15:52









SNTSNT

1021721




1021721












  • You should post app-shinyjs.js and app.css files in order to reproduce your code.

    – alessio
    Mar 24 at 22:39











  • @alessio I have just added the supporting files.

    – SNT
    Mar 25 at 1:26

















  • You should post app-shinyjs.js and app.css files in order to reproduce your code.

    – alessio
    Mar 24 at 22:39











  • @alessio I have just added the supporting files.

    – SNT
    Mar 25 at 1:26
















You should post app-shinyjs.js and app.css files in order to reproduce your code.

– alessio
Mar 24 at 22:39





You should post app-shinyjs.js and app.css files in order to reproduce your code.

– alessio
Mar 24 at 22:39













@alessio I have just added the supporting files.

– SNT
Mar 25 at 1:26





@alessio I have just added the supporting files.

– SNT
Mar 25 at 1:26












1 Answer
1






active

oldest

votes


















4














This is intended.



What you experience here is a feature of Bootstrap, the responsive breakpoint. In its edge case: There is a minimum width for which all containers will span over the whole page. This is done mainly for websites to become mobile friendly, since i.e. a column that spans over a third of the device gets very narrow and can become really hard to read. And therefore it is intended, that "columns" get disbanded at a certain point.



If you really dont want this to happen, you have two options.



Either, knowing that this happens with bootstrap, you refrain from using columns and specify the div width youself, such that it is fixed no matter what.



Or you try to counter act the bootstrap css by including another style sheet. You can look through the bootstrap.css for media queries that are responsible for the breaks. And then copy the styles and apply them to the very small screen sizes. I took the liberty to create a css that would be sufficient for your cases, posted below:



bs-no-break.css



@media (max-width: 768px) 
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12
float: left;

.col-sm-12
width: 100%;

.col-sm-11
width: 91.66666667%;

.col-sm-10
width: 83.33333333%;

.col-sm-9
width: 75%;

.col-sm-8
width: 66.66666667%;

.col-sm-7
width: 58.33333333%;

.col-sm-6
width: 50%;

.col-sm-5
width: 41.66666667%;

.col-sm-4
width: 33.33333333%;

.col-sm-3
width: 25%;

.col-sm-2
width: 16.66666667%;

.col-sm-1
width: 8.33333333%;

.col-sm-pull-12
right: 100%;

.col-sm-pull-11
right: 91.66666667%;

.col-sm-pull-10
right: 83.33333333%;

.col-sm-pull-9
right: 75%;

.col-sm-pull-8
right: 66.66666667%;

.col-sm-pull-7
right: 58.33333333%;

.col-sm-pull-6
right: 50%;

.col-sm-pull-5
right: 41.66666667%;

.col-sm-pull-4
right: 33.33333333%;

.col-sm-pull-3
right: 25%;

.col-sm-pull-2
right: 16.66666667%;

.col-sm-pull-1
right: 8.33333333%;

.col-sm-pull-0
right: auto;

.col-sm-push-12
left: 100%;

.col-sm-push-11
left: 91.66666667%;

.col-sm-push-10
left: 83.33333333%;

.col-sm-push-9
left: 75%;

.col-sm-push-8
left: 66.66666667%;

.col-sm-push-7
left: 58.33333333%;

.col-sm-push-6
left: 50%;

.col-sm-push-5
left: 41.66666667%;

.col-sm-push-4
left: 33.33333333%;

.col-sm-push-3
left: 25%;

.col-sm-push-2
left: 16.66666667%;

.col-sm-push-1
left: 8.33333333%;

.col-sm-push-0
left: auto;

.col-sm-offset-12
margin-left: 100%;

.col-sm-offset-11
margin-left: 91.66666667%;

.col-sm-offset-10
margin-left: 83.33333333%;

.col-sm-offset-9
margin-left: 75%;

.col-sm-offset-8
margin-left: 66.66666667%;

.col-sm-offset-7
margin-left: 58.33333333%;

.col-sm-offset-6
margin-left: 50%;

.col-sm-offset-5
margin-left: 41.66666667%;

.col-sm-offset-4
margin-left: 33.33333333%;

.col-sm-offset-3
margin-left: 25%;

.col-sm-offset-2
margin-left: 16.66666667%;

.col-sm-offset-1
margin-left: 8.33333333%;

.col-sm-offset-0
margin-left: 0;

.navbar-right .dropdown-menu
right: 0;
left: auto;

.navbar-right .dropdown-menu-left
right: auto;
left: 0;

.navbar
border-radius: 4px;

.navbar-header
float: left;

.navbar-collapse
width: auto;
border-top: 0;
-webkit-box-shadow: none;
box-shadow: none;

.navbar-collapse.collapse
display: block !important;
height: auto !important;
padding-bottom: 0;
overflow: visible !important;

.navbar-collapse.in
overflow-y: visible;

.navbar-fixed-top .navbar-collapse,
.navbar-static-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse
padding-right: 0;
padding-left: 0;

.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse
margin-right: 0;
margin-left: 0;

.navbar-static-top
border-radius: 0;

.navbar-fixed-top,
.navbar-fixed-bottom
border-radius: 0;

.navbar > .container .navbar-brand,
.navbar > .container-fluid .navbar-brand
margin-left: -15px;

.navbar-toggle
display: none;

.navbar-nav
float: left;
margin: 0;

.navbar-nav > li
float: left;

.navbar-nav > li > a
padding-top: 15px;
padding-bottom: 15px;

.navbar-left
float: left !important;

.navbar-right
float: right !important;
margin-right: -15px;

.navbar-right ~ .navbar-right
margin-right: 0;







share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55303402%2fshiny-app-using-fluidrow-and-columns-has-overflow-issues%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    4














    This is intended.



    What you experience here is a feature of Bootstrap, the responsive breakpoint. In its edge case: There is a minimum width for which all containers will span over the whole page. This is done mainly for websites to become mobile friendly, since i.e. a column that spans over a third of the device gets very narrow and can become really hard to read. And therefore it is intended, that "columns" get disbanded at a certain point.



    If you really dont want this to happen, you have two options.



    Either, knowing that this happens with bootstrap, you refrain from using columns and specify the div width youself, such that it is fixed no matter what.



    Or you try to counter act the bootstrap css by including another style sheet. You can look through the bootstrap.css for media queries that are responsible for the breaks. And then copy the styles and apply them to the very small screen sizes. I took the liberty to create a css that would be sufficient for your cases, posted below:



    bs-no-break.css



    @media (max-width: 768px) 
    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12
    float: left;

    .col-sm-12
    width: 100%;

    .col-sm-11
    width: 91.66666667%;

    .col-sm-10
    width: 83.33333333%;

    .col-sm-9
    width: 75%;

    .col-sm-8
    width: 66.66666667%;

    .col-sm-7
    width: 58.33333333%;

    .col-sm-6
    width: 50%;

    .col-sm-5
    width: 41.66666667%;

    .col-sm-4
    width: 33.33333333%;

    .col-sm-3
    width: 25%;

    .col-sm-2
    width: 16.66666667%;

    .col-sm-1
    width: 8.33333333%;

    .col-sm-pull-12
    right: 100%;

    .col-sm-pull-11
    right: 91.66666667%;

    .col-sm-pull-10
    right: 83.33333333%;

    .col-sm-pull-9
    right: 75%;

    .col-sm-pull-8
    right: 66.66666667%;

    .col-sm-pull-7
    right: 58.33333333%;

    .col-sm-pull-6
    right: 50%;

    .col-sm-pull-5
    right: 41.66666667%;

    .col-sm-pull-4
    right: 33.33333333%;

    .col-sm-pull-3
    right: 25%;

    .col-sm-pull-2
    right: 16.66666667%;

    .col-sm-pull-1
    right: 8.33333333%;

    .col-sm-pull-0
    right: auto;

    .col-sm-push-12
    left: 100%;

    .col-sm-push-11
    left: 91.66666667%;

    .col-sm-push-10
    left: 83.33333333%;

    .col-sm-push-9
    left: 75%;

    .col-sm-push-8
    left: 66.66666667%;

    .col-sm-push-7
    left: 58.33333333%;

    .col-sm-push-6
    left: 50%;

    .col-sm-push-5
    left: 41.66666667%;

    .col-sm-push-4
    left: 33.33333333%;

    .col-sm-push-3
    left: 25%;

    .col-sm-push-2
    left: 16.66666667%;

    .col-sm-push-1
    left: 8.33333333%;

    .col-sm-push-0
    left: auto;

    .col-sm-offset-12
    margin-left: 100%;

    .col-sm-offset-11
    margin-left: 91.66666667%;

    .col-sm-offset-10
    margin-left: 83.33333333%;

    .col-sm-offset-9
    margin-left: 75%;

    .col-sm-offset-8
    margin-left: 66.66666667%;

    .col-sm-offset-7
    margin-left: 58.33333333%;

    .col-sm-offset-6
    margin-left: 50%;

    .col-sm-offset-5
    margin-left: 41.66666667%;

    .col-sm-offset-4
    margin-left: 33.33333333%;

    .col-sm-offset-3
    margin-left: 25%;

    .col-sm-offset-2
    margin-left: 16.66666667%;

    .col-sm-offset-1
    margin-left: 8.33333333%;

    .col-sm-offset-0
    margin-left: 0;

    .navbar-right .dropdown-menu
    right: 0;
    left: auto;

    .navbar-right .dropdown-menu-left
    right: auto;
    left: 0;

    .navbar
    border-radius: 4px;

    .navbar-header
    float: left;

    .navbar-collapse
    width: auto;
    border-top: 0;
    -webkit-box-shadow: none;
    box-shadow: none;

    .navbar-collapse.collapse
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;

    .navbar-collapse.in
    overflow-y: visible;

    .navbar-fixed-top .navbar-collapse,
    .navbar-static-top .navbar-collapse,
    .navbar-fixed-bottom .navbar-collapse
    padding-right: 0;
    padding-left: 0;

    .container > .navbar-header,
    .container-fluid > .navbar-header,
    .container > .navbar-collapse,
    .container-fluid > .navbar-collapse
    margin-right: 0;
    margin-left: 0;

    .navbar-static-top
    border-radius: 0;

    .navbar-fixed-top,
    .navbar-fixed-bottom
    border-radius: 0;

    .navbar > .container .navbar-brand,
    .navbar > .container-fluid .navbar-brand
    margin-left: -15px;

    .navbar-toggle
    display: none;

    .navbar-nav
    float: left;
    margin: 0;

    .navbar-nav > li
    float: left;

    .navbar-nav > li > a
    padding-top: 15px;
    padding-bottom: 15px;

    .navbar-left
    float: left !important;

    .navbar-right
    float: right !important;
    margin-right: -15px;

    .navbar-right ~ .navbar-right
    margin-right: 0;







    share|improve this answer



























      4














      This is intended.



      What you experience here is a feature of Bootstrap, the responsive breakpoint. In its edge case: There is a minimum width for which all containers will span over the whole page. This is done mainly for websites to become mobile friendly, since i.e. a column that spans over a third of the device gets very narrow and can become really hard to read. And therefore it is intended, that "columns" get disbanded at a certain point.



      If you really dont want this to happen, you have two options.



      Either, knowing that this happens with bootstrap, you refrain from using columns and specify the div width youself, such that it is fixed no matter what.



      Or you try to counter act the bootstrap css by including another style sheet. You can look through the bootstrap.css for media queries that are responsible for the breaks. And then copy the styles and apply them to the very small screen sizes. I took the liberty to create a css that would be sufficient for your cases, posted below:



      bs-no-break.css



      @media (max-width: 768px) 
      .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12
      float: left;

      .col-sm-12
      width: 100%;

      .col-sm-11
      width: 91.66666667%;

      .col-sm-10
      width: 83.33333333%;

      .col-sm-9
      width: 75%;

      .col-sm-8
      width: 66.66666667%;

      .col-sm-7
      width: 58.33333333%;

      .col-sm-6
      width: 50%;

      .col-sm-5
      width: 41.66666667%;

      .col-sm-4
      width: 33.33333333%;

      .col-sm-3
      width: 25%;

      .col-sm-2
      width: 16.66666667%;

      .col-sm-1
      width: 8.33333333%;

      .col-sm-pull-12
      right: 100%;

      .col-sm-pull-11
      right: 91.66666667%;

      .col-sm-pull-10
      right: 83.33333333%;

      .col-sm-pull-9
      right: 75%;

      .col-sm-pull-8
      right: 66.66666667%;

      .col-sm-pull-7
      right: 58.33333333%;

      .col-sm-pull-6
      right: 50%;

      .col-sm-pull-5
      right: 41.66666667%;

      .col-sm-pull-4
      right: 33.33333333%;

      .col-sm-pull-3
      right: 25%;

      .col-sm-pull-2
      right: 16.66666667%;

      .col-sm-pull-1
      right: 8.33333333%;

      .col-sm-pull-0
      right: auto;

      .col-sm-push-12
      left: 100%;

      .col-sm-push-11
      left: 91.66666667%;

      .col-sm-push-10
      left: 83.33333333%;

      .col-sm-push-9
      left: 75%;

      .col-sm-push-8
      left: 66.66666667%;

      .col-sm-push-7
      left: 58.33333333%;

      .col-sm-push-6
      left: 50%;

      .col-sm-push-5
      left: 41.66666667%;

      .col-sm-push-4
      left: 33.33333333%;

      .col-sm-push-3
      left: 25%;

      .col-sm-push-2
      left: 16.66666667%;

      .col-sm-push-1
      left: 8.33333333%;

      .col-sm-push-0
      left: auto;

      .col-sm-offset-12
      margin-left: 100%;

      .col-sm-offset-11
      margin-left: 91.66666667%;

      .col-sm-offset-10
      margin-left: 83.33333333%;

      .col-sm-offset-9
      margin-left: 75%;

      .col-sm-offset-8
      margin-left: 66.66666667%;

      .col-sm-offset-7
      margin-left: 58.33333333%;

      .col-sm-offset-6
      margin-left: 50%;

      .col-sm-offset-5
      margin-left: 41.66666667%;

      .col-sm-offset-4
      margin-left: 33.33333333%;

      .col-sm-offset-3
      margin-left: 25%;

      .col-sm-offset-2
      margin-left: 16.66666667%;

      .col-sm-offset-1
      margin-left: 8.33333333%;

      .col-sm-offset-0
      margin-left: 0;

      .navbar-right .dropdown-menu
      right: 0;
      left: auto;

      .navbar-right .dropdown-menu-left
      right: auto;
      left: 0;

      .navbar
      border-radius: 4px;

      .navbar-header
      float: left;

      .navbar-collapse
      width: auto;
      border-top: 0;
      -webkit-box-shadow: none;
      box-shadow: none;

      .navbar-collapse.collapse
      display: block !important;
      height: auto !important;
      padding-bottom: 0;
      overflow: visible !important;

      .navbar-collapse.in
      overflow-y: visible;

      .navbar-fixed-top .navbar-collapse,
      .navbar-static-top .navbar-collapse,
      .navbar-fixed-bottom .navbar-collapse
      padding-right: 0;
      padding-left: 0;

      .container > .navbar-header,
      .container-fluid > .navbar-header,
      .container > .navbar-collapse,
      .container-fluid > .navbar-collapse
      margin-right: 0;
      margin-left: 0;

      .navbar-static-top
      border-radius: 0;

      .navbar-fixed-top,
      .navbar-fixed-bottom
      border-radius: 0;

      .navbar > .container .navbar-brand,
      .navbar > .container-fluid .navbar-brand
      margin-left: -15px;

      .navbar-toggle
      display: none;

      .navbar-nav
      float: left;
      margin: 0;

      .navbar-nav > li
      float: left;

      .navbar-nav > li > a
      padding-top: 15px;
      padding-bottom: 15px;

      .navbar-left
      float: left !important;

      .navbar-right
      float: right !important;
      margin-right: -15px;

      .navbar-right ~ .navbar-right
      margin-right: 0;







      share|improve this answer

























        4












        4








        4







        This is intended.



        What you experience here is a feature of Bootstrap, the responsive breakpoint. In its edge case: There is a minimum width for which all containers will span over the whole page. This is done mainly for websites to become mobile friendly, since i.e. a column that spans over a third of the device gets very narrow and can become really hard to read. And therefore it is intended, that "columns" get disbanded at a certain point.



        If you really dont want this to happen, you have two options.



        Either, knowing that this happens with bootstrap, you refrain from using columns and specify the div width youself, such that it is fixed no matter what.



        Or you try to counter act the bootstrap css by including another style sheet. You can look through the bootstrap.css for media queries that are responsible for the breaks. And then copy the styles and apply them to the very small screen sizes. I took the liberty to create a css that would be sufficient for your cases, posted below:



        bs-no-break.css



        @media (max-width: 768px) 
        .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12
        float: left;

        .col-sm-12
        width: 100%;

        .col-sm-11
        width: 91.66666667%;

        .col-sm-10
        width: 83.33333333%;

        .col-sm-9
        width: 75%;

        .col-sm-8
        width: 66.66666667%;

        .col-sm-7
        width: 58.33333333%;

        .col-sm-6
        width: 50%;

        .col-sm-5
        width: 41.66666667%;

        .col-sm-4
        width: 33.33333333%;

        .col-sm-3
        width: 25%;

        .col-sm-2
        width: 16.66666667%;

        .col-sm-1
        width: 8.33333333%;

        .col-sm-pull-12
        right: 100%;

        .col-sm-pull-11
        right: 91.66666667%;

        .col-sm-pull-10
        right: 83.33333333%;

        .col-sm-pull-9
        right: 75%;

        .col-sm-pull-8
        right: 66.66666667%;

        .col-sm-pull-7
        right: 58.33333333%;

        .col-sm-pull-6
        right: 50%;

        .col-sm-pull-5
        right: 41.66666667%;

        .col-sm-pull-4
        right: 33.33333333%;

        .col-sm-pull-3
        right: 25%;

        .col-sm-pull-2
        right: 16.66666667%;

        .col-sm-pull-1
        right: 8.33333333%;

        .col-sm-pull-0
        right: auto;

        .col-sm-push-12
        left: 100%;

        .col-sm-push-11
        left: 91.66666667%;

        .col-sm-push-10
        left: 83.33333333%;

        .col-sm-push-9
        left: 75%;

        .col-sm-push-8
        left: 66.66666667%;

        .col-sm-push-7
        left: 58.33333333%;

        .col-sm-push-6
        left: 50%;

        .col-sm-push-5
        left: 41.66666667%;

        .col-sm-push-4
        left: 33.33333333%;

        .col-sm-push-3
        left: 25%;

        .col-sm-push-2
        left: 16.66666667%;

        .col-sm-push-1
        left: 8.33333333%;

        .col-sm-push-0
        left: auto;

        .col-sm-offset-12
        margin-left: 100%;

        .col-sm-offset-11
        margin-left: 91.66666667%;

        .col-sm-offset-10
        margin-left: 83.33333333%;

        .col-sm-offset-9
        margin-left: 75%;

        .col-sm-offset-8
        margin-left: 66.66666667%;

        .col-sm-offset-7
        margin-left: 58.33333333%;

        .col-sm-offset-6
        margin-left: 50%;

        .col-sm-offset-5
        margin-left: 41.66666667%;

        .col-sm-offset-4
        margin-left: 33.33333333%;

        .col-sm-offset-3
        margin-left: 25%;

        .col-sm-offset-2
        margin-left: 16.66666667%;

        .col-sm-offset-1
        margin-left: 8.33333333%;

        .col-sm-offset-0
        margin-left: 0;

        .navbar-right .dropdown-menu
        right: 0;
        left: auto;

        .navbar-right .dropdown-menu-left
        right: auto;
        left: 0;

        .navbar
        border-radius: 4px;

        .navbar-header
        float: left;

        .navbar-collapse
        width: auto;
        border-top: 0;
        -webkit-box-shadow: none;
        box-shadow: none;

        .navbar-collapse.collapse
        display: block !important;
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important;

        .navbar-collapse.in
        overflow-y: visible;

        .navbar-fixed-top .navbar-collapse,
        .navbar-static-top .navbar-collapse,
        .navbar-fixed-bottom .navbar-collapse
        padding-right: 0;
        padding-left: 0;

        .container > .navbar-header,
        .container-fluid > .navbar-header,
        .container > .navbar-collapse,
        .container-fluid > .navbar-collapse
        margin-right: 0;
        margin-left: 0;

        .navbar-static-top
        border-radius: 0;

        .navbar-fixed-top,
        .navbar-fixed-bottom
        border-radius: 0;

        .navbar > .container .navbar-brand,
        .navbar > .container-fluid .navbar-brand
        margin-left: -15px;

        .navbar-toggle
        display: none;

        .navbar-nav
        float: left;
        margin: 0;

        .navbar-nav > li
        float: left;

        .navbar-nav > li > a
        padding-top: 15px;
        padding-bottom: 15px;

        .navbar-left
        float: left !important;

        .navbar-right
        float: right !important;
        margin-right: -15px;

        .navbar-right ~ .navbar-right
        margin-right: 0;







        share|improve this answer













        This is intended.



        What you experience here is a feature of Bootstrap, the responsive breakpoint. In its edge case: There is a minimum width for which all containers will span over the whole page. This is done mainly for websites to become mobile friendly, since i.e. a column that spans over a third of the device gets very narrow and can become really hard to read. And therefore it is intended, that "columns" get disbanded at a certain point.



        If you really dont want this to happen, you have two options.



        Either, knowing that this happens with bootstrap, you refrain from using columns and specify the div width youself, such that it is fixed no matter what.



        Or you try to counter act the bootstrap css by including another style sheet. You can look through the bootstrap.css for media queries that are responsible for the breaks. And then copy the styles and apply them to the very small screen sizes. I took the liberty to create a css that would be sufficient for your cases, posted below:



        bs-no-break.css



        @media (max-width: 768px) 
        .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12
        float: left;

        .col-sm-12
        width: 100%;

        .col-sm-11
        width: 91.66666667%;

        .col-sm-10
        width: 83.33333333%;

        .col-sm-9
        width: 75%;

        .col-sm-8
        width: 66.66666667%;

        .col-sm-7
        width: 58.33333333%;

        .col-sm-6
        width: 50%;

        .col-sm-5
        width: 41.66666667%;

        .col-sm-4
        width: 33.33333333%;

        .col-sm-3
        width: 25%;

        .col-sm-2
        width: 16.66666667%;

        .col-sm-1
        width: 8.33333333%;

        .col-sm-pull-12
        right: 100%;

        .col-sm-pull-11
        right: 91.66666667%;

        .col-sm-pull-10
        right: 83.33333333%;

        .col-sm-pull-9
        right: 75%;

        .col-sm-pull-8
        right: 66.66666667%;

        .col-sm-pull-7
        right: 58.33333333%;

        .col-sm-pull-6
        right: 50%;

        .col-sm-pull-5
        right: 41.66666667%;

        .col-sm-pull-4
        right: 33.33333333%;

        .col-sm-pull-3
        right: 25%;

        .col-sm-pull-2
        right: 16.66666667%;

        .col-sm-pull-1
        right: 8.33333333%;

        .col-sm-pull-0
        right: auto;

        .col-sm-push-12
        left: 100%;

        .col-sm-push-11
        left: 91.66666667%;

        .col-sm-push-10
        left: 83.33333333%;

        .col-sm-push-9
        left: 75%;

        .col-sm-push-8
        left: 66.66666667%;

        .col-sm-push-7
        left: 58.33333333%;

        .col-sm-push-6
        left: 50%;

        .col-sm-push-5
        left: 41.66666667%;

        .col-sm-push-4
        left: 33.33333333%;

        .col-sm-push-3
        left: 25%;

        .col-sm-push-2
        left: 16.66666667%;

        .col-sm-push-1
        left: 8.33333333%;

        .col-sm-push-0
        left: auto;

        .col-sm-offset-12
        margin-left: 100%;

        .col-sm-offset-11
        margin-left: 91.66666667%;

        .col-sm-offset-10
        margin-left: 83.33333333%;

        .col-sm-offset-9
        margin-left: 75%;

        .col-sm-offset-8
        margin-left: 66.66666667%;

        .col-sm-offset-7
        margin-left: 58.33333333%;

        .col-sm-offset-6
        margin-left: 50%;

        .col-sm-offset-5
        margin-left: 41.66666667%;

        .col-sm-offset-4
        margin-left: 33.33333333%;

        .col-sm-offset-3
        margin-left: 25%;

        .col-sm-offset-2
        margin-left: 16.66666667%;

        .col-sm-offset-1
        margin-left: 8.33333333%;

        .col-sm-offset-0
        margin-left: 0;

        .navbar-right .dropdown-menu
        right: 0;
        left: auto;

        .navbar-right .dropdown-menu-left
        right: auto;
        left: 0;

        .navbar
        border-radius: 4px;

        .navbar-header
        float: left;

        .navbar-collapse
        width: auto;
        border-top: 0;
        -webkit-box-shadow: none;
        box-shadow: none;

        .navbar-collapse.collapse
        display: block !important;
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important;

        .navbar-collapse.in
        overflow-y: visible;

        .navbar-fixed-top .navbar-collapse,
        .navbar-static-top .navbar-collapse,
        .navbar-fixed-bottom .navbar-collapse
        padding-right: 0;
        padding-left: 0;

        .container > .navbar-header,
        .container-fluid > .navbar-header,
        .container > .navbar-collapse,
        .container-fluid > .navbar-collapse
        margin-right: 0;
        margin-left: 0;

        .navbar-static-top
        border-radius: 0;

        .navbar-fixed-top,
        .navbar-fixed-bottom
        border-radius: 0;

        .navbar > .container .navbar-brand,
        .navbar > .container-fluid .navbar-brand
        margin-left: -15px;

        .navbar-toggle
        display: none;

        .navbar-nav
        float: left;
        margin: 0;

        .navbar-nav > li
        float: left;

        .navbar-nav > li > a
        padding-top: 15px;
        padding-bottom: 15px;

        .navbar-left
        float: left !important;

        .navbar-right
        float: right !important;
        margin-right: -15px;

        .navbar-right ~ .navbar-right
        margin-right: 0;








        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 25 at 9:07









        K. RohdeK. Rohde

        6,1481843




        6,1481843





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55303402%2fshiny-app-using-fluidrow-and-columns-has-overflow-issues%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

            Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

            Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript