Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

BootStrap 3 container inside container-fluid

Below is the Layout that I am working on using BootStrap3. I have setup example with limited layout for this question at http://jsfiddle.net/s7Rwj/4

WebSite Layout

I am having hard time setting up my header. I am using container-fluid width so my Header's width is 100% however the ask is that out of three elements inside header one should stay to left and rest of the two should match left and right respectively of the below "container".

So far I have tried various layouts but below is the only one which is close to what I am looking for.

    <header class="container-fluid navbar-fixed-top">         <div class="row">             <div class="col-xs-12" style="background-color:aliceblue">                                     <div class="container">                     <div class="row">                         <div class="col-xs-6" style="background-color:violet">2</div>                         <div class="col-xs-6 pull-right" style="background-color: lightblue">3</div>                     </div>                 </div>                 <span style="position:absolute;top:0;left:0">                     A quick brown fox jumps over the lazy dog.                 </span>             </div>         </div>     </header> 

However challenge with this layout is that since the span is using absolute position when the browser is re-sized the text overlaps the second element inside header. I have already tried providing explicit width to it but it didn't help.

If I don't use absolute position then the span and rest of the items are rendered in two different lines.

I am looking for advice on how to setup this header.

PS: I have added random background colors to div tag to understand where they are getting rendered. Feel free to ignore them.

like image 409
ndd Avatar asked May 26 '14 14:05

ndd


People also ask

What is the use of container-fluid in Bootstrap?

container-fluid class provides a full width container, spanning the entire width of the viewport.

Can I use container inside container-fluid?

You cannot use . container-fluid inside of a . container and get what you're trying to achieve.

Can you have a container inside a container Bootstrap?

Containers are the most basic layout element in Bootstrap and are required when using our default grid system. Containers are used to contain, pad, and (sometimes) center the content within them. While containers can be nested, most layouts do not require a nested container.

What is the difference between Bootstrap container and container-fluid?

. container has a max width pixel value, whereas . container-fluid is max-width 100%.


1 Answers

I think you're looking for difficulties where they are not.

You should avoid nesting containers (.container and .container-fluid) because they are not nestable due to their padding etc... look at Bootstrap 3 Containers overview

Also, when you are nesting columns, all you need to do is to put a new row into one of your columns and put the nested columns right into it. See Bootstrap 3 Grid system - nesting columns, here's their example:

<div class="row">   <div class="col-sm-9">     Level 1: .col-sm-9     <div class="row">       <div class="col-xs-8 col-sm-6">         Level 2: .col-xs-8 .col-sm-6       </div>       <div class="col-xs-4 col-sm-6">         Level 2: .col-xs-4 .col-sm-6       </div>     </div>   </div> </div> 

The solution you're looking for with your layout is very simple. You don't necessarily need container-fluid in the header. Simply create a container for the center part above carousel and wrap it into a .wrap or any other class that you can style with width: 100%. Additionally, you can add some padding that container-fluid has.

<header class="wrap navbar-fixed-top">     <div class="container">         <div class="row">             <div class="col-xs-6" style="background-color: violet;">2</div>             <div class="col-xs-6 pull-right" style="background-color: lightblue;">3</div>         </div>         <span style="position:absolute;top:0;left:0">             A quick brown fox jumps over the lazy dog.         </span>     </div> </header> 

And somewhere in your CSS (I recommend style.less), you can style .wrap to 100% width, though it should be default width for every div without styles.

.wrap {     width: 100%; } 

I know this question is a lil bit older but it doesn't matter. Hope I understood your question correctly.

like image 138
TeeJay Avatar answered Sep 23 '22 20:09

TeeJay