2015-01-03 13 views
33

Ich habe diese irritierende horizontale Scroll auf meiner Bootstrap-Seite. Kann ich nicht herausfinden, was es so macht oder was man dagegen tun soll?So entfernen Sie diese horizontale Bildlaufleiste in Bootstrap 3

JsFiddle Link: http://jsfiddle.net/FatAlbert/cd1syrd9/2/

HTML:

<body> 
    <div class="wrapper"> 
     <div class="row"> 
      <div class="header"> 
       <div class="container"> 
        <!-- navigation--> 
         <nav class="navbar navbar-default"> 
          <div class="container-fluid"> 

           <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">Meny</button> 
           <a class="navbar-brand" href="#"><img src="xxx" /></a> 

           <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
            <ul class="nav navbar-nav"> 
             <li class="active"><a href="#">Start <span class="sr-only">(current)</span></a></li> 
             <li><a href="#">Link</a></li> 
             <li><a href="#">Link</a></li> 
             <li><a href="#">Link</a></li> 
             <li><a href="#">Link</a></li> 
            </ul> 
           </div> 
          </div> 
         </nav><!--/navigation--> 
       </div> 
      </div><!--/header--> 
     </div><!--/container--> 
     <div class="row"> 
      <div class="first-page-content"> 
       <div class="container"> 
         <img class="img-responsive img-big" src="xx" /> 
         <p> 
          Lorem ipsum dolor sit amet, arcu nulla. Maecenas congue, felis leo et, pulvinar sollicitudin lacinia libero rhoncus, nam dolor, velit leo ullamcorper massa. Risus netus facilisis tempus mollis, nullam nibh ridiculus potenti donec pulvinar proin. Sit in ultrices sed orci pellentesque, nunc tempor fusce fusce ultrices felis molestie. Lorem nam pellentesque integer urna nam. 
         </p> 

       </div> 
      </div> 
     </div><!--/first-content--> 
    </div> 
    <div class="footer"> 
     <div class="container"> 
      <p class="pull-right"> 
       Some<br /> 
       Info<br /> 
      </p> 
     </div> 

    </div><!-- /footer--> 

</body> 

CSS:

html { 
    position: relative; 
    min-height: 100%; 
} 

body { 
    margin-bottom: 160px; 
} 

h1 { 
    font-size: 2.5em; 
} 

h2 { 
    font-size: 1.5em; 
} 

p { 
    font-family: Verdana,Arial,sans-serif; 
    font-size: 1.05em; 
    line-height: 1.8; 
    text-align: justify; 
} 

a { 
    color: #0071BB; 
    font-weight: bold; 
} 

.wrapper { 
} 

.footer { 
    position: absolute; 
    padding-top: 25px; 
    bottom: 0; 
    width: 100%; 
     /* Set the fixed height of the footer here */ 
    height: 160px; 
    background-color: #5FC8FF; 
} 

.header .glyphicon-wrench { 
    margin: 0 3px; 
} 

.header h4 { 
    margin-right: 3px; 
} 

.img-responsive { 
    display: block; 
    margin: auto; 
} 

.img-responsive.img-big { 
    margin-top: 75px; 
} 

.navbar { 
    border: none; 
} 

.navbar .navbar-nav { 
    display: inline-block; 
    float: none; 
    vertical-align: top; 
} 

.navbar .navbar-collapse { 
    text-align: center; 
} 

.navbar-default .navbar-nav > li { 
    width: 150px; 
    margin-right: 2px; 
} 

.navbar-default .navbar-nav > li > a, 
    .navbar-default .navbar-nav > li > a:hover { 
    color: #fff; 
    font-weight: bold; 
    background-color: #92C7E1; 
} 

.navbar-default .navbar-nav > li > a:hover { 
    background-color: #98CEE5; 
} 

.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { 
    color: #fff; 
    background-color: #98CEE5; 
} 

a.navbar-brand { 
    padding: 5px; 
} 

.row { 
} 

.alert { 
} 

.well { 
} 

.footer p { 
    font-weight: bold; 
    color: #FDFDFB; 
} 

@media (min-width: 992px) { 
} 

@media (min-width: 768px) { 

    .first-page-content p { 
     margin: 75px auto 25px auto; 
     width: 524px; 
    } 
} 
+0

meinen Sie einen horizontalen Bildlauf? Ein vertikaler Bildlauf wird immer dann angezeigt, wenn sich der Inhalt über den Blickwinkel hinaus erstreckt. – jmore009

+0

horizontal - ja. tnx @ jmore009 – FatAlbert

+0

Siehe meinen Kommentar, fügen Sie einfach diesen Code in Ihrem CSS es wird vollständig deaktivieren Sie Ihre horizontale Bildlaufleiste. – vasanth

Antwort

65

Per Bootstrap 3 documentation:

Die Zeilen müssen in einem .container (feste Breite) oder einem .container-fluid (volle Breite) platziert werden, um eine korrekte Ausrichtung und Polsterung zu gewährleisten.

Daher fügen Sie die Klasse container zu Ihrem .wrapper Element.

Updated Example

<div class="wrapper container"> 
    <div class="row"> 
     ... 
    </div> 
</div> 

Wie für eine Erklärung weist die .row Klasse -15px Ränder auf jeder Seite.

.row { 
    margin-right: -15px; 
    margin-left: -15px; 
} 

Die .container Klasse verschiebt effektiv, dass mit dem folgenden:

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

Neben der Bootstrap 3 docs lesen, ich würde vorschlagen, dass Sie den Artikel "The Subtle Magic Behind Why the Bootstrap 3 Grid Works" zu lesen.

+1

Danke! Sie haben auch mein Sticky-Footer-Problem gelöst, das auch nicht funktioniert hat. – FatAlbert

+3

Vielen Dank !!! Die Zeilen müssen in einem .container (feste Breite) oder einem .container-fluid (volle Breite) platziert werden, damit sie richtig ausgerichtet und aufgefüllt werden können. – victorkurauchi

+1

In meinem Fall konnte ich .container nicht verwenden, da es auf kleineren Geräten eine feste Breite hat. Ich fixiere das mit .container-fluid. –

7

Kopieren Sie einfach diesen Code in Ihr CSS, es wird Ihre horizontale Bildlaufleiste deaktivieren.

body {overflow-x: hidden;} 
+14

Dies wird nur die Browser-Bildlaufleiste ausblenden. Das .row element wird immer noch außerhalb der Grenzen sein und Sie werden Probleme mit den meisten mobilen Geräten haben. –

0

Das Problem wird verursacht grundsätzlich aufgrund der Eltern fehlt .Behälter. Die Lösung besteht darin, dass Sie der Zeile eine .no-container-Klasse hinzufügen und margin: 0 hinzufügen können, um den negativen Rand der Zeilenklasse zu kompensieren.

Siehe unten CSS und HTML-Markup-Code:

.no-container { 
 
    margin-left: 0 !important; 
 
    margin-right: 0 !important; 
 
} 
 
.row { 
 
    border: 1px solid #999; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<!--<div class="container"> Container is commented --> 
 
<div class="row no-container"> 
 
    <div class="col-md-6 col-xs-6 col-sm-6">column-6</div> 
 
    <div class="col-md-6 col-xs-6 col-sm-6">column-6</div> 
 
</div> 
 
<!--</div> Container ends here -->

Verwandte Themen