【问题标题】:Bootstrap navbar collapse media-query on custom widthBootstrap navbar 在自定义宽度上折叠媒体查询
【发布时间】:2014-04-15 07:03:18
【问题描述】:

大家好,我想修改导航栏以便在@screen-md :992px; 上折叠。 我修改了navbar.less,但还是不行,不知道怎么办。

那么我该如何修改@grid-float-breakpoint 变量,以使该菜单在自定义媒体查询大小时折叠?

FIDDLE:

【问题讨论】:

    标签: css twitter-bootstrap twitter-bootstrap-3 media-queries


    【解决方案1】:

    如果您使用的是 Twitter Bootstrap,则响应式折叠已经内置。您可能只需要使用菜单中的类来调用它。但这是我在使用过的大多数 Bootstrap 应用程序中使用的 css,包括我现在正在使用的那个

    @media(min-width:768px) {
       .navbar-collapse {
        width: auto;
        /* more code here */
    }
    

    将最小宽度更改为您希望它折叠的宽度。

    【讨论】:

    • 尝试将您的媒体查询放入我的小提琴 width min width:1200px:|不工作。
    • 从技术上讲,我说的和上面的答案一样,只是我没有为你编写代码,因为你应该自己做。但是好的,重要的是你解决了它
    • 我在寻找答案而不是提示。还是谢谢你。
    • 好吧,很抱歉成为坏消息的承担者,但我们不应该给你答案。这可能是家庭作业。但总的来说,如果你不让你的齿轮转动,你永远不会弄明白。关于开发的一个真实事实 = 花 1 小时创建和 7 次调试 :) 干杯
    【解决方案2】:

    你可以像这样改变3.1中的折叠点..

    @media (max-width: 992px) {
        .navbar-header {
            float: none;
        }
        .navbar-left,.navbar-right {
            float: none !important;
        }
        .navbar-toggle {
            display: block;
        }
        .navbar-collapse {
            border-top: 1px solid transparent;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
        }
        .navbar-fixed-top {
            top: 0;
            border-width: 0 0 1px;
        }
        .navbar-collapse.collapse {
            display: none!important;
        }
        .navbar-nav {
            float: none!important;
            margin-top: 7.5px;
        }
        .navbar-nav>li {
            float: none;
        }
        .navbar-nav>li>a {
            padding-top: 10px;
            padding-bottom: 10px;
        }
        .collapse.in{
            display:block !important;
        }
    }
    

    http://www.bootply.com/120951


    Bootstrap 4 中,更改断点更容易。 See this answer

    【讨论】:

    • 终于找到了适用于 v3(或至少 3.3)的解决方案!!
    • 一点点反对:作为中型设备的起始像素为 992 像素,媒体查询不应该设置为 991 像素的最大宽度吗?
    【解决方案3】:

    variables.less

    @grid-float-breakpoint:   @screen-sm-min
    

    @grid-float-breakpoint: @screen-md-min;  
    

    或者你想要的任何其他宽度。

    用这种方法轻松无痛。

    【讨论】:

      【解决方案4】:

      这是我用来解决这个问题的代码,只需将其添加到您的样式表中即可。

      @media (max-width: 1992px) {
          .navbar-header {
              float: none;
          }
          .navbar-left,.navbar-right {
              float: none !important;
          }
          .navbar-toggle {
              display: block;
          }
          .navbar-collapse {
              border-top: 1px solid transparent;
              box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
          }
          .navbar-fixed-top {
              top: 0;
              border-width: 0 0 1px;
          }
          .navbar-collapse.collapse {
              display: none!important;
          }
          .navbar-nav {
              float: none!important;
              margin-top: 7.5px;
          }
          .navbar-nav>li {
              float: none;
          }
          .navbar-nav>li>a {
              padding-top: 10px;
              padding-bottom: 10px;
          }
          .collapse.in{
              display:block !important;
          }
      }
      

      【讨论】:

      • 你能解释一下这个 CSS 是如何解决这个问题的吗?
      猜你喜欢
      • 2015-03-23
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2015-05-19
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      相关资源
      最近更新 更多