test_name
test_name

Reputation: 57

Show label inline on a input field in Bootstrap 4

I need to place the label and input on one line.

<div class="container">
  <div class="row mt-2">
    <div class="form-group">
      <div class="dates">
        <label class="d-inline-block" for="arrival">Дата заезда:</label>
        <div class="col-10">
          <input type="text" class="form-control form-control-sm d-inline-block" name="arrival" id="arrival" placeholder="YYYY-MM-DD" autocomplete="off" required>
        </div>
      </div>
    </div>
  </div>
</div>

What it looks like now:

enter image description here

Upvotes: 0

Views: 3878

Answers (3)

N. Brivio
N. Brivio

Reputation: 66

What about this?

<div class="container">
        <div class="row mt-2">
            <div class="form-group">
                <div class="dates">
                    <div class="col-6">
                        <label class="d-inline-block" for="arrival">Label:</label>
                    </div>
                    <div class="col-6">
                        <input type="text" class="form-control form-control-sm d-inline-block" name="arrival"
                               id="arrival" placeholder="YYYY-MM-DD" autocomplete="off" required>
                    </div>
                </div>
            </div>
        </div>
    </div>

Upvotes: 2

Shidersz
Shidersz

Reputation: 17190

One solution could be using the row and col-* classes as explained here

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

<div class="container">
<form>
  <div class="form-group">
  <div class="dates row">
    <label class="col-auto" for="arrival">Дата заезда:</label>
    <div class="col">
      <input type="text" class="col form-control form-control-sm" name="arrival" id="arrival" placeholder="YYYY-MM-DD" autocomplete="off" required>
    </div>
  </div>
  </div>
</form>
</div>

Upvotes: 1

Paulina Bukowska
Paulina Bukowska

Reputation: 11

To have it displayed inline-block, you need to style the div that contains your input, not the input itself. That's how it should look like:

<div class="container">
                <div class="row mt-2">
                    <div class="form-group">
                        <div class="dates">
                            <label class="d-inline-block" for="arrival">Дата заезда:</label>
                            <div class="col-10 d-inline-block">
                                <input type="text" class="form-control form-control-sm" name="arrival"
                                       id="arrival" placeholder="YYYY-MM-DD" autocomplete="off" required>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

Upvotes: 1

Related Questions