l'utilisation de container-fluide dans bootstrap provoquer scrollbar horizontale

Voici un exemple simple:

<div class="container-fluid">
    <div class="row">
        <div class="col-lg-12">DUMMY CONTENT</div>
    </div>
</div>

Démo en Violon

Quand je vois le résultat dans le navigateur j'obtiens une barre de défilement horizontale.

pourquoi cela se produit-il?

Qu'est-ce que je fais de mal?

42
demandé sur KyleMit 2014-05-20 23:17:15

9 réponses

container-fluid a été à l'origine de Bootstrap 3.0, mais ajout 3.1.1

Pour résoudre ce problème, vous pouvez :

  1. nouvelle version de la feuille de style Bootstrap

    Démo avec une Nouvelle Feuille de Style en cours de Violon

  2. Ou ajouter dans la classe vous-même

    .row ajoute un 15px marge à gauche et à droite. Depuis .container-fluid remplit 100% de la largeur de l'écran, l'espace de marge supplémentaire provoque des problèmes de débordement.

    pour corriger cela, vous devez ajouter du rembourrage à .container-fluid classe

    .container-fluid {
        padding-right: 15px;
        padding-left: 15px;
        margin-right: auto;
        margin-left: auto;
    }
    

    démo avec la classe de conteneur personnalisé dans Fiddle

46
répondu KyleMit 2017-04-10 16:12:58

j'ai aussi fait face à ce problème. Je ne connais pas la cause du problème. Il peut-être un bug de Twitter Bootstrap. Maintenant, je dois ajouter manuellement l' overflow-x:hidden mon body balise:

body { 
   overflow-x: hidden;
}

Jsfiddle

32
répondu lvarayut 2014-05-20 19:26:52

Dans mon cas, ce correctif a bien fonctionné:

.row {
  margin-left: 0;
  margin-right: 0;
}
8
répondu Viktor L 2015-02-13 12:06:19
.row{
margin: 0px;
}

rapide et facile de résoudre ce problème est tout ce que vous devez

4
répondu Christopher Clear 2015-06-24 20:32:47

assurez-vous d'encapsuler vos classes de rangée avec des conteneurs.

<div class="container">
    <div class="row">
        text
    </div>
</div>

Le conteneur des décalages de l' -15 marges sur les lignes +15.

2
répondu David Stack 2015-05-29 08:39:53

avec Bootstrap 3.3.5, je recevais une barre de défilement horizontale à certaines largeurs près du changement de la moyenne (md) à la petite (sm) taille de l'écran. L'ajout d'un div.row entre div.container-fluid et div.container fixe pour moi.

<div class="container-fluid  myFullWidthStylingClass">
    <div class="row">
        <div class="container">
            <div class="row">
                <div class="col-sm-12">
                    #content
                </div>
            </div>
        </div>
    </div>
</div>

ajouter margin:0; pour vos lignes de briser certains éléments de style.

0
répondu user5507241 2015-10-30 14:04:54

dans mon cas, changer @grid-gutter-width à nombre impair causé cela, parce que;

mixins/grid.less

.container-fixed(@gutter: @grid-gutter-width) {
  margin-right: auto;
  margin-left: auto;
  padding-left:  floor((@gutter / 2));
  padding-right: ceil((@gutter / 2));
  &:extend(.clearfix all);
}

donc si vous choisissez un Impair gutter-width puis vous finirez par avoir inégale paddings et vous verrez une barre de défilement horizontale.

0
répondu Harsh Vakharia 2015-12-22 17:37:05

vous pouvez pirater la ligne en ajoutant une nouvelle classe à la ligne pleine largeur et créer le fichier CSS de réécriture:

.noLRMar{
  margin-right: 0 !important;
  margin-left: 0 !important;
 }
<div class="row noLRMar">
  
 </div>
0
répondu Omar Noor 2016-09-22 18:56:39

Set max-width dans la classe conteneur au lieu de largeur. Il va supprimer la barre horizontale.

.container-fluid { 
    border:1px solid red;
    max-width:1349px;
    min-height:1356px;
    padding:0px;
    margin:0px; 
}
-1
répondu Waleed Khan 2016-09-01 11:33:18