Comment régler gutter dans le système de grille Bootstrap 3?
le nouveau système de grille Bootstrap 3 est génial. Il est plus puissant pour la conception répond à toutes les tailles d'écran, et beaucoup plus facile pour imbriqués.
mais j'ai un problème que je n'ai pas pu résoudre. Comment ajouter un espace précis entre les colonnes? Disons que j'ai le container 960px, 3 colonnes à 310px et 2 gouttières à 15px entre 3 colonnes. Comment dois-je faire?
3 réponses
vous pouvez créer une classe CSS pour cela et l'appliquer à vos colonnes. Puisque la gouttière (espacement entre les colonnes) est contrôlée par un rembourrage dans Bootstrap 3, ajuster le rembourrage en conséquence:
.col {
padding-right:7px;
padding-left:7px;
}
Démo: http://bootply.com/93473
" EDIT si vous voulez seulement l'espacement entre les colonnes, vous pouvez sélectionner toutes les colonnes sauf première et dernière comme celle-ci..
.col:not(:first-child,:last-child) {
padding-right:7px;
padding-left:7px;
}
Mise À Jour Bootply
pour définir une grille de 3 colonnes, vous pouvez utiliser le customizer ou télécharger la source définir vos variables less et recompiler.
pour en savoir plus sur la grille et les colonnes / largeurs de gouttière, veuillez lire aussi:
- Bootstrap Set de 3 Conteneur Largeur de 940px Maximum pour les Ordinateurs de bureau?
- pourquoi Bootstrap 3 impose-t-il la largeur du conteneur à certains tailles?
- Bootstrap 3 Gouttière Taille
- réduire la gouttière (par défaut 30px) sur les petits appareils dans Bootstrap3?
dans votre cas avec un conteneur de 960px considérer la grille moyenne (Voir aussi: http://getbootstrap.com/css/#grid ). Cette grille aura une largeur de conteneur maximale de 970px.
Lors du réglage de @grid-columns:3;
et du réglage @grid-gutter-width:15px;
dans variables.moins vous obtiendrez:
15px | 1st column (298.33) | 15px | 2nd column (298.33) |15px | 3th column (298.33) | 15px
(posté au nom de L'OP).
je crois que j'ai compris.
dans mon cas, j'ai ajouté [class*="col-"] {padding: 0 7.5px;};
.
, puis .row {margin: 0 -7.5px;}
.
cela fonctionne assez bien, sauf qu'il y a une marge de 1px sur les deux côtés. Donc je fais juste .row {margin: 0 -7.5px;}
à .row {margin: 0 -8.5px;}
, puis ça marche parfaitement.
Je ne sais pas pourquoi il y a une marge de 1px. Peut-être que quelqu'un peut l'expliquer?
voir l'échantillon que j'ai créé: