2015-01-03 13 views
33

私はブートストラップページでこの邪魔な水平スクロールを持っています。それが何のように振る舞っているのか、それについて何をすべきかを理解できませんか?ブートストラップ3でこの水平スクロールバーを取り除く方法

JsFiddleリンク: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

あなたは、水平スクロールを意味していますか?縦スクロールは、コンテンツが視点を通り越していつでも現れるようになります。 – jmore009

+0

横 - はい。 tnx @ jmore009 – FatAlbert

+0

私のコメントを見てください。CSSにこのコードを追加するだけで、水平スクロールバーが完全に無効になります。 – vasanth

答えて

65

としてBootstrap 3 documentationあたり:

行は、適切な整列とパディングのために.container(固定幅)または.container-fluid(全幅)内に配置する必要があります。

したがって、.wrapper要素にクラスcontainerを追加してください。説明として

Updated Example

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

.rowクラスは、それぞれの側に-15pxマージンを有しています。

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

.containerクラスが効果的に次のようにすることをを変位:

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

Bootstrap 3 docsを読んだことに加えて、私は記事 "The Subtle Magic Behind Why the Bootstrap 3 Grid Works" を読んでお勧めしたいです。

+1

ありがとう!あなたはまた、うまくいきませんでした。 – FatAlbert

+3

ありがとうございました!適切な整列とパディングのためには、行を.container(固定幅)または.container-fluid(全幅)内に配置する必要があります。 – victorkurauchi

+1

私の場合、小型のデバイスでは幅が固定されているため、.containerは使用できませんでした。私はこれを.container-fluidで修正します。 –

7

このコードをCSSにコピーすると、水平スクロールバーが無効になります。

body {overflow-x: hidden;} 
+14

これはブラウザのスクロールバーを隠すだけです。 。行要素はまだ範囲外になり、ほとんどのモバイルデバイスで問題が発生します。 –

0

問題は基本的には.containerが見つからないために発生します。解決策は、行に.no-containerクラスを追加し、margin:0を追加して行クラスの負のマージンを補正できることです。

はCSSとHTMLのマークアップコードの下を参照してください:

.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 -->