codepen bootstrap 手机版错误

codepen bootstrap mobile version wrong

我正在掌握 bootstrap 的诀窍,到目前为止它很棒。

我试着先从移动设备上制作我的网站,然后再上线。但我想我做错了什么或错过了一步。当我在 codepen where I built it it looks fine at any width. However, when I look at it through my iPhone or jsfiddle 中查看页面时,工作面看起来完全错误,它们没有对齐,而且到处都是。当屏幕为 xs 或 sm 时,我希望我的项目在 2 行中,当设备为 md 时有 3 列,当设备为 lg 时有 4 列。似乎 sm、md、lg 部件正在按它们应该的方式工作,但不是 xs。

此外,当视口足够小以致于折叠导航栏时,如何在单击其中的内容后将其删除。示例我展开它并单击项目,它会转到该部分但不会将其删除。

<body>
  <div class="container-fluid">
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navie" aria-expanded="false">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="#">PORTFOLIO</a>
        </div>

        <div class="collapse navbar-collapse pull-right" id="navie">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#slide2">Home <span class="sr-only"></span></a></li>
            <li><a href="#slide2">About</a></li>
            <li><a href="#slide3">Projects</a></li>
            <li><a href="#slide4">Contact</a></li>
          </ul>
        </div>
      </div>
    </nav>
  </div>


  <!----- SLIDES START --->
  <div class="jumbotron" id="slide1">
    <div class="container-fluid">
    </div>
  </div>
  <div id="slide2">
    <div class="container-fluid">
      <div class="row">
        <div class="col-lg-offset-1 col-lg-10">
          <h1 class="text-center" id="about">About</h1>
          <p class="text-justify lead" id="aboutMe">
            Hi there! My name is Irving Gonzalez and I am a <b>Computer Science</b> graduate from <b>John Jay College of Criminal Justice</b>. Currently, I am working towards becoming a Full Stack Web Developer with the help of the curriculum from <b>freeCodeCamp</b>            as well as other self-taught web services. I have a passion for innovation, deviation, technology, and languages.

            <br>
            <br> Below are some of the projects I've made.
          </p>
        </div>
      </div>
    </div>
  </div>

  <div id="slide3">
    <div class="container-fluid">
      <div class="row">
        <h1 class="text-center">Works</h1>
        <div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
          <a href="http://codepen.io/IrvingG/full/BjVvjb/" class="thumbnail" id="workThumbnails"><img src="http://i67.tinypic.com/9u8ytv.jpg" class="img-rounded" alt="Future Project">
            <div class="caption text-center">
              <h4>Random Quotes</h4></div>
          </a>
        </div>
        <div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
          <a href="http://codepen.io/IrvingG/full/adRrvW/" class="thumbnail" id="workThumbnails"><img src="http://i65.tinypic.com/2n21a8g.jpg" alt="Calculator" class="img-rounded">
            <div class="caption text-center">
              <h4>Calculator</h4></div>
          </a>
        </div>
        <div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
          <a href="http://codepen.io/IrvingG/full/RrXKxK/" class="thumbnail" id="workThumbnails"><img src="http://i64.tinypic.com/r9k778.jpg" alt="Tribute" class="img-rounded">
            <div class="caption text-center">
              <h4>Tribute</h4></div>
          </a>
        </div>
        <div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
          <a href="http://codepen.io/IrvingG/full/zqxLrE/" class="thumbnail" id="workThumbnails"><img src="http://i63.tinypic.com/2rmb98o.jpg" alt="Weather App" class="img-rounded">
            <div class="caption text-center">
              <h4>Weather App</h4></div>
          </a>
        </div>
        <div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
          <a class="thumbnail" id="workThumbnails"><img src="https://cdn4.iconfinder.com/data/icons/under-construction/512/coming_soon-256.png" alt="Future Project" class="img-rounded">
            <div class="caption text-center">
              <h4>Future Project</h4></div>
          </a>
        </div>
        <div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
          <a class="thumbnail" id="workThumbnails"><img src="https://cdn4.iconfinder.com/data/icons/under-construction/512/coming_soon-256.png" alt="Future Project" class="img-rounded">
            <div class="caption text-center">
              <h4>Future Project</h4></div>
          </a>
        </div>
        <div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
          <a class="thumbnail" id="workThumbnails"><img src="https://cdn4.iconfinder.com/data/icons/under-construction/512/coming_soon-256.png" alt="Future Project" class="img-rounded">
            <div class="caption text-center">
              <h4>Future Project</h4></div>
          </a>
        </div>
        <div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
          <a class="thumbnail" id="workThumbnails"><img src="https://cdn4.iconfinder.com/data/icons/under-construction/512/coming_soon-256.png" alt="Future Project" class="img-rounded">
            <div class="caption text-center">
              <h4>Future Project</h4></div>
          </a>
        </div>
      </div>
    </div>
  </div>


  <div id="slide4">

    <div class="container-fluid">
      <div class="row">
        <div class="col-xs-offset-1 col-xs-10 col-lg-offset-1 col-lg-4">
          <h1> CONTACT </h1>
          <p class="text-justify lead" id="contact">
            If you have any questions and/or comments, feel free to send me a message through any of these</p>
        </div>

        <div class="col-xs-offset-1 col-xs-10 col-lg-offset-1 col-lg-5">
          <div class="row">
            <div class="col-xs-4">
              <a href="mailto:irv.jgonz@gmail.com" alt="irv.jgonz@gmail.com"><i class="fa fa-envelope fa-3x"></i></a></div>
            <div class="col-xs-4">
              <a href="http://www.freecodecamp.com/irvgonz" alt="FreeCodeCamp" target="_blank">
                <i class="fa fa-fire fa-3x"></i></a>
            </div>
            <div class="col-xs-4"><a href="http://github.com/irvgonz" target="_blank"><i class="fa fa-github-square fa-3x"></i></a></div>
            <div class="col-xs-4"><a href="https://www.linkedin.com/in/irving" target="_blank"><i class="fa fa-linkedin-square fa-3x"></i></a></div>
            <div class="col-xs-4"><a href="https://www.facebook.com/irving.gonzalez.1466" target="_blank"><i class="fa fa-facebook-official fa-3x"></i></a></div>
            <div class="col-xs-4"><a href="https://twitter.com/g0_irving" target="_blank"><i class="fa fa-twitter-square fa-3x"></i></a></div>
          </div>
        </div>
      </div>
    </div>
  </div>

  <div class="navbar navbar-inverse navbar-static-bottom" role="navigation">
    <div class="container-fluid">
      <div class="navbar-text pull-left">
        <p>@ 2016 Irving Gonzalez</p>
      </div>

    </div>
  </div>
</body>

使用网格

这里的主要问题似乎是布局中缺少行,或者更具体地说,所有内容都在一个 <div class="row"> 中。大多数情况下,Cols 可以处理折叠,但在您的情况下,您的某些项目名称在足够小的视口上会换行成两行,导致容器的高度不匹配并导致布局中断.如果您将每一行 cols 包装成一行,那么这将不会发生,因为 cols 将有一个直接容器来对齐它们。

这可以通过弄乱标题和 font-sizes 来解决,但实际上,确保布局保留其行和列的最安全方法是明确定义它们,而不是像在代码中那样暗示它们.

补充说明

此外,请将您的章节标题放在单独的 row/col 中。我说的是这些部分:

...
<div id="slide3">
    <div class="container-fluid">
        <div class="row">
            <h1 class="text-center">Works</h1>
            <div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
...

应该是

...
<div id="slide3">
    <div class="container-fluid">
        <div class="row">
            <div class="col-xs-12">
                <h1 class="text-center">Works</h1>
            </div>
        </div>
        <div class="row">
            <div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
...

在这种情况下你不知何故逃脱了它,但是 non-floated non-col 元素应该有自己的行 + full-width col 或者留在行之外 floated/col 里面的元素,否则会发生奇怪的事情。

点击菜单项时自动折叠导航栏

这应该是一个单独的问题,以保持 SO 的单一 Q/A 格式 - 不管怎样,这里有一个解决方案:简单地 之后模拟导航栏折叠按钮上的点击事件 link 已被点击(或者你可以使用 bootstrap 的 js 方法,但我会把它留给你)。

$('.nav li a').on('click', function() {
    $('.navbar-toggle').trigger('click');
})