twitter-bootstrapbootstrap-grid

Bootstrap combining rows (rowspan)


I am testing Twitter Bootstrap and got stuck with basic scaffolding with rows. I revisited their documentation number of times and I can see nesting columns where you can basically nest columns within a column but I cannot locate the capability of combining rows into one and have it aligned with column next to the uncombined rows.

Below picture should illustrate what I want to accomplish.

rowspan layout sample

The only workaround solution I came across is using tables but I don't like this idea as my view is that the responsiveness wouldn't work with the use of tables.

Does anyone have any elegant solution to this? Most of the web layout I do will need fine level of flexibility so it will be great if I could pick up something useful here.


Solution

  • Divs stack vertically by default, so there is no need for special handling of "rows" within a column.

    div {
      height:50px;
    }
    .short-div {
      height:25px;
    }
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
    
    <div class="container">
      <h1>Responsive Bootstrap</h1>
      <div class="row">
        <div class="col-lg-5 col-md-5 col-sm-5 col-xs-5" style="background-color:red;">Span 5</div>
        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3" style="background-color:blue">Span 3</div>
        <div class="col-lg-2 col-md-2 col-sm-3 col-xs-2" style="padding:0px">
          <div class="short-div" style="background-color:green">Span 2</div>
          <div class="short-div" style="background-color:purple">Span 2</div>
        </div>
        <div class="col-lg-2 col-md-2 col-sm-3 col-xs-2" style="background-color:yellow">Span 2</div>
      </div>
    </div>
    <div class="container-fluid">
      <div class="row-fluid">
        <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
          <div class="short-div" style="background-color:#999">Span 6</div>
          <div class="short-div">Span 6</div>
        </div>
        <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6" style="background-color:#ccc">Span 6</div>
      </div>
    </div>

    Output:

    enter image description here

    Here's the fiddle.