Mark
Mark

Reputation: 4950

Bootstrap 4 - no column wrapping

I need to to prevent B4 columns from wrapping when resizing the Browser. Here is my code:

<div class="card card-outline-primary">
<div class="card-block">
    <form class="row">
        <div class="col-xs-4" style="border:solid;border-color:red;border-width:5px;">
            <label for="visualTheme" class="control-label">1234</label>
            <div>
                <input class="form-control" style="height:30px;"/>
            </div>
        </div>
        <div class="col-xs-4" style="border:solid;border-color:blue;border-width:5px;">
            <label class="control-label">5678</label>
            <div>
                <input class="form-control" style="height:30px;" />
            </div>
        </div>
        <div class="col-xs-4" style="border:solid;border-color:green;border-width:5px;">
            <label class="control-label">abcd</label>
            <div>
                <input class="form-control" style="height:30px;" />
            </div>
        </div>
     </form>
</div>

Fiddle

But it still wraps when I make it smaller.

Thanks for the help.

Upvotes: 7

Views: 14572

Answers (2)

Drew
Drew

Reputation: 4373

The accepted answer doesn't provide a solution to the posters question.

Bootstrap 4 .rows are flex containers and the .col's in the row are the flex items. There are a bunch of utility classes that they provide to control the flex containers and items.

To prevent the columns in your row from stacking add the .flex-nowrap class to your row:

<form class="row flex-nowrap">
...
</form>

Reference: Bootstrap 4 - Flex Doc's

Upvotes: 20

Sahil Dhir
Sahil Dhir

Reputation: 4250

col-xs-* class is not supported in bootstrap 4 .col-xs-* was used in bootstrap 3 So, Its replacement in bootstrap 4 is col-*.

So your class col-xs-4 is not going to work with bootstrap 4. So use col-4 instead.

Here is the code with your code.

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet" />
<div class="card card-outline-primary">
  <div class="card-block">
    <form class="row">
      <div class="col-4" style="border:solid;border-color:red;border-width:5px;">
        <label for="visualTheme" class="control-label">1234</label>
        <div>
          <input class="form-control" style="height:30px;" />
        </div>
      </div>
      <div class="col-4" style="border:solid;border-color:blue;border-width:5px;">
        <label class="control-label">5678</label>
        <div>
          <input class="form-control" style="height:30px;" />
        </div>
      </div>
      <div class="col-4" style="border:solid;border-color:green;border-width:5px;">
        <label class="control-label">abcd</label>
        <div>
          <input class="form-control" style="height:30px;" />
        </div>
      </div>
    </form>
  </div>

Upvotes: 6

Related Questions