Twitter Bootstrap 4
Dans Twitter Bootstrap 4, les entrées et les boutons peuvent être alignés à l'aide des classes input-group-prependet input-group-append(voir https://getbootstrap.com/docs/4.0/components/input-group/#button-addons )
Bouton de groupe sur le côté gauche (préfixe)
<div class="input-group mb-3">
<div class="input-group-prepend">
<button class="btn btn-outline-secondary" type="button">Button</button>
</div>
<input type="text" class="form-control">
</div>
Bouton de groupe sur le côté droit (ajouter)
<div class="input-group mb-3">
<div class="input-group-append">
<button class="btn btn-outline-secondary" type="button">Button</button>
</div>
<input type="text" class="form-control">
</div>
Twitter Bootstrap 3
Comme indiqué dans la réponse de @abimelex, les entrées et les boutons peuvent être alignés en utilisant les .input-groupclasses (voir http://getbootstrap.com/components/#input-groups-buttons )
Bouton de groupe sur le côté gauche
<div class="input-group">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
<input type="text" class="form-control">
</div>
Bouton de groupe sur le côté droit
<div class="input-group">
<input type="text" class="form-control">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div>
Cette solution a été ajoutée pour garder ma réponse à jour, mais veuillez coller votre vote positif sur la réponse fournie par @abimelex .
Twitter Bootstrap 2
Bootstrap propose une .input-appendclasse, qui fonctionne comme un élément wrapper et corrige cela pour vous:
<div class="input-append">
<input name="search" id="search"/>
<button class="btn">button</button>
</div>
Comme l'a souligné @OleksiyKhilkevich dans sa réponse, il existe une deuxième façon d'aligner inputet buttond'utiliser la .form-horizontalclasse:
<div class="form-horizontal">
<input name="search" id="search"/>
<button class="btn">button</button>
</div>
Les différences
La différence entre ces deux classes est qu'elles .input-appendplaceront le buttonhaut contre l' inputélément (de sorte qu'elles semblent attachées), où .form-horizontalplacera un espace entre elles.
-- Remarque --
Pour permettre aux éléments inputet buttond'être côte à côte sans espacement, le font-sizea été défini sur 0dans la .input-appendclasse (cela supprime l'espacement blanc entre les inline-blockéléments). Cela peut avoir un effet négatif sur la taille des polices dans l' inputélément si vous souhaitez remplacer les valeurs par défaut à l'aide de emou de %mesures.