99 votes

Bootstrap 3.0: Comment avoir du texte et un champ de saisie sur la même ligne?

Je suis en train de passer mon site web à Bootstrap 3.0. J'ai un problème avec les saisies de formulaire et le formatage du texte. Ce qui fonctionnait avec Bootstrap 2 ne fonctionne pas avec Bootstrap 3.

Comment puis-je placer du texte sur la même ligne avant et après une saisie de formulaire? J'ai réduit le problème à un souci avec la classe 'form-control' dans la version Bootstrap 3 de l'exemple.

Comment pourrais-je mettre tout le texte et la saisie sur une seule ligne? J'aimerais que l'exemple Bootstrap 3 ressemble à l'exemple Bootstrap 2 dans le jsfiddle.

Exemple JSFiddle

Mise à jour : j'ai modifié le code pour cela qui fonctionne mais j'ai des problèmes d'alignement maintenant. Des idées?

0 votes

Ils sont tous les deux les mêmes, vous avez juste une classe supplémentaire form-control dans votre exemple de bootstrap 3.

1 votes

Jetez un œil à l'exemple dans la documentation de bootstrap. Vous manquez de classes sur l'étiquette getbootstrap.com/css/#forms-horizontal

0 votes

Je suis désolé mais je suis toujours confus. L'exemple inférieur (BS3) a la classe 'form-control' qui donne un meilleur aspect. Je veux un meilleur aspect ET garder le texte et l'entrée sur la même ligne. Qu'est-ce que je rate?

147voto

Denis Besic Points 756

Tiré de la documentation http://getbootstrap.com/css/#forms-horizontal.

Utilisez les classes de grille prédéfinies de Bootstrap pour aligner des étiquettes et des groupes de contrôles de formulaire dans une mise en page horizontale en ajoutant .form-horizontal au formulaire (qui n'a pas besoin d'être un

). Ce faisant, les .form-groups se comportent comme des lignes de grille, donc pas besoin de .row.

Exemple:

    Email

    Mot de passe

           Se souvenir de moi

      Se connecter

15 votes

+1. Cela devrait être la réponse acceptée, car elle fait le lien avec la documentation officielle

0 votes

C'est une réponse avec seulement un lien, et elle ne devrait pas être acceptée sans un exemple, au cas où la page référencée changerait ou serait supprimée.

0 votes

Pourquoi la bonne réponse est la bonne réponse? Cela devrait être la bonne réponse! @fat fantasma

43voto

lomteslie Points 629

Je mettrais chaque élément que vous voulez en ligne à l'intérieur d'une div col-md-* distincte dans votre ligne. Ou forcez vos éléments à s'afficher en ligne. La classe form-control affiche en bloc car c'est ainsi que Bootstrap pense que cela devrait être fait.

26voto

Reza Shirazian Points 1465

Ce dont vous avez besoin est la classe .form-inline. Vous devez cependant faire attention, avec la nouvelle classe .form.inline vous devez spécifier la largeur pour chaque contrôle.

Jetez un œil ici

0 votes

Cela devrait être une meilleure réponse que la classe form-horizontal car elle ne force pas le div avec la classe form-group à s'afficher en bloc.

0 votes

Cela s'applique uniquement aux formulaires dans les viewports d'au moins 768px de largeur.

13voto

hakunin Points 580

Aucune de ces solutions n'a fonctionné pour moi, j'ai dû utiliser la classe .form-control-static.

http://getbootstrap.com/css/#forms-controls-static

1 votes

Cela a vraiment aidé. Sans cela, le texte de l'étiquette et le texte de l'entrée n'étaient pas alignés avec col--

0 votes

Cela devrait être la réponse correcte, surtout si vous voulez que votre formulaire se présente correctement sur les appareils plus petits

0 votes

Oui, cela fonctionne également pour moi. D'autres solutions échouent pour les colonnes col-xs-*. Utiliser 'form-control-static text-right' a fonctionné pour moi sur BS 3.3.7.

10voto

Paulo Fidalgo Points 5207

Vous pouvez le faire comme ceci :

        Label

Fiddle

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X