J'essaie de mettre un espace de marge/de remplissage supplémentaire entre les colonnes sur la disposition de ma grille Bootstrap. J'ai essayé ça mais je n'aime pas le résultat. Voici mon code:
<div class="row">
<div class="text-center col-md-6">
Widget 1
</div>
<div class="text-center col-md-6">
Widget 2
</div>
</div>
Je veux ajouter margin: 10px
et padding:10px
. Certaines personnes suggèrent de changer leurs classes en col-md-5
avec pull-left
et pull-right
, mais l'écart entre elles sera trop grand.
Mise à jour 2018
Bootstrap 4 dispose maintenant de utilitaires d'espacement qui facilitent l'ajout (ou la soustraction) de l'espace (gouttière) entre les colonnes. Extra CSS n'est pas nécessaire.
<div class="row">
<div class="text-center col-md-6">
<div class="mr-2">Widget 1</div>
</div>
<div class="text-center col-md-6">
<div class="ml-2">Widget 2</div>
</div>
</div>
Vous pouvez ajuster les marges du contenu de la colonne en utilisant les utilitaires marge tels que ml-0
(marge gauche: 0), mr-0
(marge droite: 0), mx-1
(marges gauche et droite de 0,25rem ), etc...
Ou, vous pouvez ajuster le remplissage des colonnes (col- *) à l'aide des utilitaires remplissage tels que pl-0 (remplissage à gauche: 0) , pr-0 (remplissage à droite: 0), px-2 (remplissage à gauche et à droite .50rem), etc ...
Démonstration Bootstrap 4 Column Spacing
Remarques
col-*
brisera la grille.col-*
fonctionne.col-*
fonctionne également.Ajoutez simplement un div dans col-md-6
qui possède le remplissage supplémentaire dont vous avez besoin. Le col-md-6
est la "colonne vertébrale" pour conserver l'intégrité de la colonne, mais vous pouvez y ajouter un remplissage supplémentaire.
<div class="row">
<div class="text-center col-md-6">
<div class="classWithPad">Widget 1</div>
</div>
<div class="text-center col-md-6">
<div class="classWithPad">Widget 2</div>
</div>
</div>
CSS
.classWithPad { margin:10px; padding:10px; }
Je faisais face au même problème. et ce qui suit a bien fonctionné pour moi. J'espère que cela aidera quelqu'un à atterrir ici:
<div class="row">
<div class="col-md-6">
<div class="col-md-12">
Set room heater temperature
</div>
</div>
<div class="col-md-6">
<div class="col-md-12">
Set room heater temperature
</div>
</div>
</div>
Cela va automatiquement rendre un peu d'espace entre les 2 divs.
Super facile avec flexbox. Laissez de la place pour de l'espace en modifiant les colonnes en col-md-5
<div class="row widgets">
<div class="text-center col-md-5">
Widget 1
</div>
<div class="text-center col-md-5">
Widget 2
</div>
</div>
CSS
.widgets {
display: flex;
justify-content: space-around;
}
Ajoutez simplement la classe 'justifier-contenu-autour'. cela ajouterait automatiquement un écart entre 2 divs.
Documentation: https://getbootstrap.com/docs/4.1/layout/grid/#horizontal-alignment
Échantillon:
<div class="row justify-content-around">
<div class="col-4">
One of two columns
</div>
<div class="col-4">
One of two columns
</div>
</div>
Je voudrais garder une colonne supplémentaire au milieu pour les plus grands affichages et réinitialiser les valeurs par défaut lorsque les colonnes se réduisent à des affichages plus petits. Quelque chose comme ça:
<div class="row">
<div class="text-center col-md-5 col-sm-6">
Widget 1
</div>
<div class="col-md-2">
<!-- Gap between columns -->
</div>
<div class="text-center col-md-5 col-sm-6">
Widget 2
</div>
</div>
J'ai eu le même problème et j'ai résolu le problème en imbriquant une div dans bootstrap _col et en y ajoutant un rembourrage. Quelque chose comme:
<div class="container">
<div class="row">
<div class="col-md-4">
<div class="custom-box">Your content with padding</div>
</div>
<div class="col-md-4">
<div class="custom-box">Your content with padding</div>
</div>
<div class="col-md-4">
<div class="custom-box">Your content with padding</div>
</div>
</div>
</div>
Vous pouvez utiliser les classes Bootstrap 4 de remplissage et de marge abrégées comme suit:
Pour les très petits appareils, c.-à-d. Xs
{property}{sides}-{size}
Pour les autres appareils/fenêtres (petites, moyennes, grandes et très grandes)
{property}{sides}-{breakpoint}-{size}
Où:
property = m for margin and p for padding
Voici les significations abrégées des côtés:
l = defines the left-margin or left-padding
r = defines the right-margin or right-padding
t = defines the top-margin or top-padding
b = defines the bottom-margin or right-padding
x = For setting left and right padding and margins by the single call
y = For setting top and bottom margins
blank = margin and padding for all sides
Le point d'arrêt = sm, md, lg et xl.
En combinant tout ce qui précède, le code complet de remplissage à gauche peut être (par exemple):
Pour un rembourrage à gauche dans les très petits appareils
pl-2
ou pour moyen à extra large
pl-md-2
Si vous souhaitez supprimer le double remplissage entre les colonnes, ajoutez simplement la classe "nogap" dans la ligne.
<div class="row nogap">
<div class="text-center col-md-6">Widget 1</div>
<div class="text-center col-md-6">Widget 2</div>
</div>
et créer une classe css supplémentaire pour elle
.nogap > .col{ padding-left:7.5px; padding-right: 7.5px}
.nogap > .col:first-child{ padding-left: 15px; }
.nogap > .col:last-child{ padding-right: 15px; }
Ça y est, vérifiez ici: https://codepen.io/michal-lukasik/pen/xXvoYJ
Essaye ça:
<div class="row">
<div class="text-center col-md-6">
<div class="col-md-12">
Widget 1
</div>
</div>
<div class="text-center col-md-6">
<div class="col-md-12">
Widget 2
</div>
</div>
</div>
Pour ceux qui cherchent à contrôler l’espace entre un nombre dynamique de colonnes, essayez:
<div class="row no-gutters">
<div class="col">
<div class="inner">
<!-- content here -->
</div>
</div>
<div class="col">
<div class="inner">
<!-- content here -->
</div>
</div>
<!-- etc. -->
</div>
CSS:
.col:not(:last-child) .inner {
margin: 2px; // Or whatever you want your spacing to be
}