J'ai du mal à créer une zone de texte qui s'adapte à toute la largeur de ma zone de conteneur .
<div class="row">
<div class="col-md-12">
<form class="form-inline" role="form">
<input type="text" class="form-control input-lg" id="search-church" placeholder="Your location (City, State, ZIP)">
<button type="submit" class="btn btn-lg">Search</button>
</form>
</div>
</div>
Lorsque je fais ce qui précède, les deux éléments du formulaire sont en ligne, comme je m'y attendais, mais ne prennent pas plus de quelques colonnes, au mieux. Le survol du col-md-12
div dans Firebug montre qu'il prend toute la largeur attendue. C'est juste la saisie de texte qui ne semble pas remplir. J'ai même essayé d'ajouter une valeur de largeur en ligne mais cela n'a rien changé. Je sais que cela devrait être simple, me sentir vraiment stupide maintenant.
Voici un violon: http://jsfiddle.net/52VtD/4119/embedded/result/
ÉDITER:
La réponse choisie est approfondie à tous points de vue et d'une aide précieuse. C'est ce que j'ai fini par utiliser. Cependant, je pense que mon problème initial était en fait un problème avec le modèle MVC5 par défaut dans Visual Studio 2013. Il contenait ceci dans Site.css:
input,
select,
textarea {
max-width: 280px;
}
De toute évidence, cela empêchait la saisie de texte de s'étendre de manière appropriée ... Avertissement juste aux futurs utilisateurs de modèles ASP.NET ...
la source
Réponses:
La documentation de bootstrap dit à ce sujet :
La largeur par défaut de 100% que tous les éléments du formulaire obtiennent lorsqu'ils obtiennent la classe
form-control
ne s'applique pas si vous utilisez laform-inline
classe sur votre formulaire.Vous pouvez jeter un œil au bootstrap.css (ou .less, comme vous préférez) où vous trouverez cette partie:
Vous devriez peut-être jeter un œil aux groupes d'entrée , car je suppose qu'ils ont exactement le balisage que vous souhaitez utiliser (travail de violon ici ):
la source
jetez un œil à quelque chose comme ceci:
http://jsfiddle.net/n6c7v/1/
la source
Comme indiqué dans une question similaire , essayez de supprimer des instances de la
input-group
classe et voyez si cela aide.se référant à bootstrap:
la source
la source
Avec Bootstrap> 4.1, il s'agit simplement d'utiliser les classes utilitaires flexbox. Il suffit d'avoir un conteneur flexbox dans votre colonne, puis de donner à tous les éléments qu'il contient la classe "flex-fill". Comme pour les formulaires en ligne, vous devrez définir vous-même les marges / le remplissage des éléments.
la source