Bootstrap 4 列大小在 Google Chrome 中不起作用

Posted

技术标签:

【中文标题】Bootstrap 4 列大小在 Google Chrome 中不起作用【英文标题】:Bootstrap 4 column sizing not working in Google Chrome 【发布时间】:2019-01-15 23:00:23 【问题描述】:

当使用 Bootstrap 网格并将页面大小调整到最小列大小以下时,我的列不会自动堆叠。最小尺寸的列甚至没有被识别,只有第二大的列尺寸和更大的列在工作。如果在 Firefox 和 Atom html Preview 中没有按预期工作,我会假设我使用的网格不正确。

这是我的代码...

<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>bootstrap interface</title>
    <link rel="stylesheet" href="css/bootstrap.css">
  </head>
  <body>

    <div class="container">
      <div class="row">
        <div class="col-sm-4 col-md-6 col-lg-12" style="background-color: red">
          <h1>Red</h1>
        </div>
        <div class="col-sm-4 col-md-6 col-lg-6" style="background-color: white">
          <h1>White</h1>
        </div>
        <div class="col-sm-4 col-md-12 col-lg-6" style="background-color: blue">
          <h1>Blue</h1>
        </div>
      </div>
    </div>

    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="js/bootstrap.bundle.min.js"></script>

  </body>
</html>

图片

在铬: bootstrap-failing-chrome

在火狐中: bootstrap-working-firefox

我认为使用 cdn 引导程序有问题,但在本地运行它也没有解决问题。

我用多个版本的 Chrome 对其进行了测试,并删除了我所有的 css,看看它是否是我在引导程序中覆盖的东西。

【问题讨论】:

你能分享你遇到问题的链接吗? @AnilK。我发布了照片 这是我在寻找解决方案时遇到的第一个问题。如果您在使用表格时遇到问题,不妨查看以下问题:***.com/questions/15115052/… 【参考方案1】:

您的代码是正确的。引导程序已正确链接。您在这里面临的只是一个轻微的误解。 当 Google Chrome 将尺寸调整为 576px 宽时,Bootstrap 会考虑 col-xs-* 的参数,并且由于您没有提供参数,它会将其视为默认 col-xs-1。

<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>bootstrap interface</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  </head>
  <body>

    <div class="container">
      <div class="row">
        <div class="col-xs-4 col-sm-4 col-md-6 col-lg-12" style="background-color: red">
          <h1>Red</h1>
        </div>
        <div class="col-xs-4 col-sm-4 col-md-6 col-lg-6" style="background-color: white">
          <h1>White</h1>
        </div>
        <div class="col-xs-4 col-sm-4 col-md-12 col-lg-6" style="background-color: blue">
          <h1>Blue</h1>
        </div>
      </div>
    </div>

    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="js/bootstrap.bundle.min.js"></script>

  </body>
</html>

我认为现在这对你来说肯定有用。

【讨论】:

你说得对,我意识到我的问题不在于 col-sm-*,而是在调整大小时列不会自动换行!我正在更新帖子 那么它仍然失败还是工作正常?点赞会有所帮助。 :) 它仍然失败:(它不能识别 xs 列,但现在它正在识别 sm 列。我需要它们在缩小时换行,但它们正在缩小。【参考方案2】:

试试这个

<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>bootstrap interface</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
  </head>
  <body>

    <div class="container">
      <div class="row">
        <div class="col-12 col-sm-4 col-md-6 col-lg-12" style="background-color: red">
          <h1>Red</h1>
        </div>
        <div class="col-12 col-sm-4 col-md-6 col-lg-6" style="background-color: white">
          <h1>White</h1>
        </div>
        <div class="col-12 col-sm-4 col-md-12 col-lg-6" style="background-color: blue">
          <h1>Blue</h1>
        </div>
      </div>
    </div>

    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="js/bootstrap.bundle.min.js"></script>

  </body>
</html>

请注意,Bootstrap 4 不需要xs

【讨论】:

好吧,现在我要疯了。如果我将您的确切代码复制到我的编辑器中,从本地 HTML 文件中保存并在 chrome 中运行它,它就不起作用。但是当我尝试“运行代码 sn-p”按钮并点击“整页”时,它工作得很好!我把它推到了我的 GitHub 上,看看它是否是 chrome 在本地运行的,不幸的是,它也不在那里工作。 我手机上的 chrome 也会发生同样的事情。 我已经更新了 sn-p 以使用正确的引导 css。现在可以查了吗? 我也在我的 Chrome 中本地运行它并且它正在工作。 因此,如果我调整 chrome 的大小没有问题,但是当我检查并选择所有不同手机的屏幕时,它仍然非常小并且在 col-md 大小。【参考方案3】:

你在 head 标记中缺少这个。

<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

【讨论】:

哈哈哈是的!我爱你!哇,我真傻。当我获得访问权限时投票(我今天加入) 也为我工作。你能解释一下吗?在我看来就像白魔法:) @Cédric ZUGER 元视口是用户在网页上的可见区域,随设备而异,在手机上比在电脑屏幕上小。这意味着浏览器将按照自己屏幕的宽度呈现页面的宽度。 好的。谢谢你:)

以上是关于Bootstrap 4 列大小在 Google Chrome 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

未根据 Bootstrap 列大小调整图像大小

如何在 bootstrap 4 中使用 flexbox 的自动宽度列?

Bootstrap 4列顺序在移动设备上不起作用[重复]

Bootstrap 4网格系统错误[重复]

在 Bootstrap 4 中将一行分成 5 列? [复制]

带网格的 Bootstrap 4 卡片列