Mettre à jour à nouveau: je ferme cette question en sélectionnant la première réponse pour empêcher les gens d'ajouter des réponses sans vraiment comprendre la question. En réalité, il n'y a aucun moyen de le faire avec la fonctionnalité intégrée sans utiliser de grille ni ajouter de css supplémentaire. Les grilles ne fonctionnent pas bien si vous avez affaire à des help-block
éléments qui doivent aller au-delà d'une courte entrée, par exemple, mais ils sont «intégrés». Si c'est un problème, je recommande d'utiliser des classes css supplémentaires que vous pouvez trouver dans la discussion BS3 ici . Maintenant que BS4 est sorti, il est possible d'utiliser les styles de dimensionnement inclus pour gérer cela, donc cela ne sera plus pertinent pour beaucoup plus longtemps. Merci à tous pour votre bonne contribution à cette question SO populaire.
Mise à jour: Cette question reste ouverte car il est sur le point intégré fonctionnalité BS pour gérer la largeur d' entrée sans avoir recours à la grille (parfois ils doivent être gérés indépendamment). J'utilise déjà des classes personnalisées pour gérer cela, donc ce n'est pas un guide sur le CSS de base. La tâche est dans la liste de discussion des fonctionnalités BS et n'a pas encore été traitée.
Question originale: Quelqu'un trouve-t-il un moyen de gérer la largeur d'entrée sur BS 3? J'utilise actuellement des classes personnalisées pour ajouter cette fonctionnalité, mais j'ai peut-être manqué certaines options non documentées.
La documentation actuelle dit d'utiliser .col-lg-x mais cela ne fonctionne clairement pas car il ne peut être appliqué qu'au conteneur div, ce qui provoque alors toutes sortes de problèmes de mise en page / flottant.
Voici un violon. Bizarre, c'est que sur le violon, je ne peux même pas faire redimensionner le groupe de formulaires.
<form role="form" class="row">
<div class="form-group col-lg-1">
<label for="code">Name</label>
<input type="text" class="form-control">
</div>
<div class="form-group col-lg-1 ">
<label for="code">Email</label>
<input type="text" class="form-control input-normal">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
la source
Réponses:
Ce que vous voulez faire est certainement réalisable.
Ce que vous voulez, c'est encapsuler chaque «groupe» dans une ligne, pas le formulaire entier avec une seule ligne. Ici:
Le NOUVEAU jsfiddle que j'ai fait: NOUVEAU jsfiddle
Notez que dans le nouveau violon, j'ai également ajouté 'col-xs-5' pour que vous puissiez le voir également sur des écrans plus petits - les supprimer ne fait aucune différence. Mais gardez à l'esprit que dans vos classes d'origine, vous n'utilisez que «col-lg-1». Cela signifie que si la largeur de l'écran est inférieure à la taille de la requête multimédia «lg», le comportement de bloc par défaut est utilisé. Fondamentalement, en appliquant uniquement 'col-lg-1', la logique que vous employez est:
Voir le système de grille Bootstrap 3 pour plus d'informations. J'espère avoir été clair, sinon faites-le moi savoir et je développerais.
la source
Dans Bootstrap 3
Vous pouvez simplement créer un style personnalisé:
Ensuite, ajoutez-le pour former des contrôles comme ceci:
De cette façon, vous n'avez pas à mettre de balisage supplémentaire pour la mise en page dans votre HTML.
la source
ASP.net MVC allez sur Content- Site.css et supprimez ou commentez cette ligne:
la source
Je pense que vous devez envelopper les entrées dans un
col-lg-4
, puis dans leform-group
et tout est contenu dans unform-horizontal
..Démo sur Bootply - http://bootply.com/78156
EDIT: à partir de la documentation Bootstrap 3.
Une autre option consiste donc à définir une largeur spécifique en utilisant CSS:
Ou appliquez le
col-sm-*
au `form-group '.la source
La documentation actuelle dit d'utiliser .col-xs-x, pas de lg. Ensuite, j'essaye en violon et ça a l'air de marcher:
http://jsfiddle.net/tX3ae/225/
pour conserver la mise en page, vous pouvez peut-être changer l'emplacement de la classe "ligne" comme ceci:
http://jsfiddle.net/tX3ae/226/
la source
Ajoutez la classe au form.group pour contraindre les entrées
la source
Si vous utilisez le modèle Master.Site dans Visual Studio 15, le projet de base a «Site.css» qui REMPLACE la largeur des champs de contrôle de formulaire.
Je ne pouvais pas obtenir la largeur de mes zones de texte plus large qu'environ 300 px de large. J'ai tout essayé et rien n'a fonctionné. J'ai trouvé qu'il y avait un paramètre dans Site.css qui causait le problème.
Débarrassez-vous de cela et vous pourrez contrôler la largeur de vos champs.
la source
Je sais que c'est un ancien fil, mais j'ai rencontré le même problème avec un formulaire en ligne, et aucune des options ci-dessus n'a résolu le problème. Alors j'ai corrigé mon formulaire en ligne comme ceci: -
C'était ma solution. Bit hack hack, mais a fait le travail pour un formulaire en ligne.
la source
Vous pouvez ajouter l'attribut de style ou vous pouvez ajouter une définition pour la balise d'entrée dans un fichier css.
Option 1: ajouter l'attribut de style
Option 2: définition en CSS
Vous pouvez changer le 100px en automatique
J'espère que je pourrais aider.
la source
Dans Bootstrap 3
http://getbootstrap.com/css/#forms-example
Il semble, dans certains cas, que nous devions définir manuellement la largeur maximale souhaitée pour les entrées.
Quoi qu'il en soit, votre exemple fonctionne. Vérifiez-le simplement avec un grand écran, afin que vous puissiez voir que les champs de nom et d'email obtiennent le 2/12 du avec (col-lg-1 + col-lg-1 et vous avez 12 colonnes). Mais si vous avez un écran plus petit (redimensionnez simplement votre navigateur), les entrées se développeront jusqu'à la fin de la ligne.
la source
Vous n'êtes pas obligé d'abandonner le simple CSS :)
la source
Si vous cherchez simplement à réduire ou augmenter la largeur des éléments d'entrée de Bootstrap à votre guise, j'utiliserais
max-width
dans le CSS.Voici un exemple très simple que j'ai créé:
J'ai défini la largeur maximale du formulaire entier à 500 pixels. De cette façon, vous n'aurez pas besoin d'utiliser le système de grille de Bootstrap et il gardera également le formulaire réactif.
la source
Je suis également aux prises avec le même problème, et c'est ma solution.
Source HTML
Couvrir le code d'entrée avec une autre classe div
Source CSS
donnez n'importe quel réglage de largeur ou de marge sur la classe div couverte.
La largeur d'entrée de Bootstrap est toujours par défaut de 100%, donc la largeur suit cette largeur couverte.
Ce n'est pas la meilleure façon, mais la solution la plus simple et la seule que j'ai résolu le problème.
J'espère que cela a aidé.
la source
Je ne sais pas pourquoi tout le monde semble ignorer le fichier site.css dans le dossier Contenu. Regardez la ligne 22 de ce fichier et vous verrez les paramètres d'entrée à contrôler. Il semblerait que votre site ne fasse pas référence à cette feuille de style.
J'ai ajouté ceci:
input, select, textarea { max-width: 280px;}
à votre violon et cela fonctionne très bien.
Vous ne devriez jamais mettre à jour bootstrap.css ou bootstrap.min.css. Cela vous mettra en échec lorsque le bootstrap sera mis à jour. C'est pourquoi le fichier site.css est inclus. C'est là que vous pouvez apporter des modifications au site qui vous donneront toujours le design réactif que vous recherchez.
Voici le violon qui fonctionne
la source
Ajoutez et définissez des termes pour le
style=""
dans le champ de saisie, c'est la façon la plus simple de procéder: Exemple:la source
Bootstrap utilise la classe 'form-input' pour contrôler les attributs des 'champs d'entrée'. Ajoutez simplement votre propre classe 'form-input' avec la largeur, la bordure, la taille de texte, etc. désirées dans votre fichier css ou dans la section head.
(ou bien, ajoutez directement le code en ligne size = '5' dans les attributs d'entrée dans la section body.)
la source
Bootstrap 3 J'ai réalisé une belle mise en page de formulaire réactive en utilisant ce qui suit:
la source