【问题标题】:Zurb Foundation - Top Bar - Don't Collapse to MenuZurb Foundation - 顶栏 - 不要折叠到菜单
【发布时间】:2013-07-16 13:39:30
【问题描述】:

Foundation 中的顶部栏是否可以折叠为 Menu 和三行。我们并不真正需要此功能,但不确定如何禁用折叠。

这需要修改foundation.topbar.js吗?

【问题讨论】:

  • 欢迎来到 SO!我真的不明白你在问什么,有什么办法可以澄清你的问题吗?如果可能的话,包括一个你想要的和正在发生的事情的截图的链接,我们会看看我们能做什么! (作为new user,您在帖子中最多只能包含 2 个链接。)
  • 谢谢恩里克!对不起,我不够清楚。我现在没有任何屏幕截图,但我基本上试图用 Foundation 做的是当浏览器的宽度折叠成平板电脑或移动设备大小时,导航栏右上角的按钮不会消失。即使在移动设备中,我们在顶部栏中也有足够的宽度来容纳我们想要的两个按钮,并且像 Foundation 中的默认设置那样折叠到下拉菜单是没有意义的。

标签: menu zurb-foundation collapse


【解决方案1】:

如果您通过 sass 使用 Foundation,还有更好的方法。 只需打开 _settings.scss 文件并找到这一行:

// $topbar-breakpoint: emCalc(940px); // Change to 9999px for always mobile layout

取消注释并将值更改为 0,或您想使用的任何断点。

【讨论】:

    【解决方案2】:

    基础 5.1.1 中的情况发生了变化,这在 css 中对我有用:改变

    @media only screen and (min-width: 40.063em) {
      .top-bar {
    

    @media only screen and (min-width: 4.063em) {
      .top-bar {
    

    【讨论】:

    • @Vincent: 40.063em vs 4.063em
    【解决方案3】:

    是的,在不修改任何 js 文件的情况下,可以使用菜单切换图标不显示小屏幕的默认导航菜单。 Foundation 4 使用一系列visibility classesmedia queries 一起在屏幕上显示和隐藏元素。

    以下是上面链接的 Zurb 演示站点的主导航示例:

    <nav class="top-bar hide-for-small" style="">
      <ul class="title-area">
        <!-- Title Area -->
        <li class="name">
          <h1><a href="/">Foundation</a></h1>
        </li>
        <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
        <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
      </ul>
    
    
    <section class="top-bar-section">
        <!-- Right Nav Section -->
        <ul class="right">
          <li class="divider"></li>
          <li class=""><a href="/grid.php">Features</a></li>
          <li class="divider"></li>
          <li class=""><a href="/templates.php">Add-ons</a></li>
          <li class="divider"></li>
          <li class=""><a href="/case-jacquelinewest.php">Case Studies</a></li>
          <li class="divider"></li>
          <li class=""><a href="/docs/">Docs</a></li>
          <li class="divider"></li>
          <li class=""><a href="/training.php">Training</a></li>
          <li class="divider"></li>
          <li class="has-form">
            <a href="http://foundation.zurb.com/docs" class="button">Getting Started</a>
          </li>
        </ul>
      </section></nav>
    

    如您所见,删除.menu-icon 类甚至li 很简单;如果您查看 docs.css 的第 2816 行,您会看到为 .top-bar 类设置了最小屏幕断点 (58.75em):

    @media only screen and (min-width: 58.75em) {
    .top-bar {
    background: #111111;
    *zoom: 1;
    overflow: visible; }
    .top-bar:before, .top-bar:after {
      content: " ";
      display: table; }
    .top-bar:after {
      clear: both; }
    .top-bar .toggle-topbar {
      display: none; }
    .top-bar .title-area {
      float: left; }
    .top-bar .name h1 a {
      width: auto; }
    ...
    

    由于默认情况下 F4 采用移动优先设计方法构建,因此菜单设置为小屏幕。在最小宽度为 58.75 em 时,断点设置为修改默认的 .top-bar 视图以用于更大的屏幕,以便菜单 ul 内联显示,子 li 向左浮动。

    您可以通过覆盖 css/scss 的相应行甚至全局变量来覆盖 .top-bar,使其成为默认视图。

    【讨论】:

    • 感谢您的 tnog!这实际上有帮助。我最终能够做的是这样的事情,以确保我们的注册和登录按钮即使超过 58.75em 的最小宽度
    • 抱歉,这太糟糕了。如何让代码正确显示?
    【解决方案4】:

    如果您直接使用 Foundation CSS,您可以通过将以下 CSS 行中的断点更改为 0em 来覆盖 .top-bar 菜单的移动模式:

    .top-bar-js-breakpoint {
      width: 58.75em !important;
      visibility: hidden; }
    
    .js-generated {
      display: block; }
    
    @media only screen and (min-width: 58.75em) {
    ----- numerous lines below -------
    

    但是,如果您在 WordPress 或其他 CMS 中使用子主题,则必须复制实际媒体查询下方的所有 .top-bar 相关选择器并将它们粘贴到您的子 CSS 中,然后更改断点到 0。就像一个魅力。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签