177 votes

Comment ajouter une marge entre les colonnes de bootstrap sans les envelopper ?

Ma présentation actuelle est la suivante

Current Layout

Dans la colonne centrale, je souhaite ajouter une petite marge entre chaque Server Mais si j'ajoute une marge au CSS, il finit par s'enrouler autour de la ligne et ressemble à ceci

Attempted Change

<div class="row info-panel">
    <div class="col-md-4 server-action-menu" id="server_1">
        <div>
            Server 1
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_2">
        <div>
            Server 2
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_3">
        <div>
            Server 3
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_4">
        <div>
            Server 4
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_5">
        <div>
            Server 5
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_6">
        <div>
            Server 6
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_7">
        <div>
            Server 7
        </div>
    </div>
</div>

Et le CSS

.server-action-menu {
    background-color: transparent;
    background-image: linear-gradient(to bottom, rgba(30, 87, 153, 0.2) 0%, rgba(125, 185, 232, 0) 100%);
    background-repeat: repeat;
    border-radius:10px;
}

.info-panel {
    padding: 4px;
}

J'ai tenté d'ajouter les marges en procédant comme suit

.info-panel  > div {
    margin: 4px;    
}

Comment puis-je ajouter une marge aux DIVs afin qu'ils ne laissent pas trop d'espace sur le côté droit ?

201voto

Charles Ingalls Points 1335

Il est préférable d'utiliser le remplissage du conteneur interne plutôt que la marge. Essayez ceci !

HTML

<div class="row info-panel">
    <div class="col-md-4" id="server_1">
       <div class="server-action-menu">
           Server 1
       </div>
   </div>
</div>

CSS

.server-action-menu {
    background-color: transparent;
    background-image: linear-gradient(to bottom, rgba(30, 87, 153, 0.2) 0%, rgba(125, 185, 232, 0) 100%);
    background-repeat: repeat;
    border-radius:10px;
    padding: 5px;
}

83voto

krishna kinnera Points 121

J'ai été confronté au même problème et la solution suivante a bien fonctionné pour moi :

<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 créera automatiquement de l'espace entre les deux divs. enter image description here

64voto

Seb33300 Points 1312

Si vous n'avez pas besoin d'ajouter une bordure sur les colonnes, vous pouvez aussi simplement ajouter une bordure transparente sur celles-ci :

[class*="col-"] {
    background-clip: padding-box;
    border: 10px solid transparent;
}

25voto

Shaun Luttin Points 1585

Modifier le nombre de @grid-columns . Ensuite, utilisez -offset . En modifiant le nombre de colonnes, vous pourrez contrôler l'espace entre les colonnes. Par exemple

variables.less (environ ligne 294).

@grid-columns:              20;

unNom.html

<div class="row">
  <div class="col-md-4 col-md-offset-1">First column</div>
  <div class="col-md-13 col-md-offset-1">Second column</div>
</div>

6voto

Ricardo Flores Points 69

La manière la plus simple d'y parvenir est de créer une div à l'intérieur d'une div.

<div class="col-sm-4" style="padding: 5px;border:2px solid red;">
   <div class="server-action-menu" id="server_1">Server 1
   </div>
 </div>
<div class="col-sm-4" style="padding: 5px;border:2px solid red;">
   <div class="server-action-menu" id="server_1">Server 2
   </div>
 </div>
<div class="col-sm-4" style="padding: 5px;border:2px solid red;">
   <div class="server-action-menu" id="server_1">Server 3
   </div>
 </div>

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