【问题标题】:Foundation 5 top bar - disable default behaviour in mobile view for right hand linksFoundation 5 顶部栏 - 在移动视图中禁用右手链接的默认行为
【发布时间】:2014-10-06 20:50:53
【问题描述】:

我需要帮助自定义基础顶部栏菜单。我有一个非常标准的顶部栏,设置了左侧菜单和右侧菜单。

移动设备上的默认基础行为是将左右菜单组合为一个下拉菜单,右侧有一个菜单图标。

我想以某种方式改变这种行为,以便左右手菜单是分开的。我希望左侧菜单使用默认行为,但我需要将菜单图标移到左侧。我想禁用右侧菜单的默认行为,以便在所有屏幕尺寸上保持相同。下面是我想要实现的图像。

有人知道我会从哪里开始吗?

    <nav class="top-bar" data-topbar >
        <ul class="title-area">
            <!-- Title Area -->
            <li class="name">&nbsp;</li>
            <li class="toggle-topbar menu-icon"><a href="#"><span></span></a></li>
        </ul>
        <section class="top-bar-section">
            <!-- main nav section -->
            <ul class="left">
                <li><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Services</a></li>
                <li><a href="#">Contact</a></li>
                <li class="has-dropdown"><a href="#">Links</a>
                    <ul class="dropdown">
                        <li><a href="#" class="">Dropdown Level 1</a></li>
                        <li><a href="#">Dropdown Option</a></li>
                        <li><a href="#">Dropdown Option</a></li>
                    </ul>
                </li>
            </ul>
            <!--Language, account, currency section-->
            <ul class="right">
                <li class="has-dropdown" id="account">
                    <a href="#" class="top-bar-colour1"><i class="fi-en"></i></a>
                    <ul class="dropdown"><li><a href="#">Languages</a></li></ul> 
                </li>
                <li class="has-dropdown" id="basket">
                    <a href="#" class="top-bar-colour2"><i class="fi-dollar"></i></a>
                    <ul class="dropdown"><li><a href="#">Currency</a></li></ul>
                </li>
                <li class="has-dropdown" id="currency">
                    <a href="#" class="top-bar-colour3"><i class="fi-lock medium"></i></a>
                    <ul class="dropdown"><li><a href="#">Login</a></li></ul>
                </li>
            </ul>
        </section>
    </nav>

非常感谢,

【问题讨论】:

  • I want to change this behaviour somehow so that the right and left hand menus are separate 是什么意思?我需要了解这一点才能为您提供帮助。你能画出最终结果还是说清楚?
  • 默认行为是左右手菜单合并并成为移动设备上的一个菜单。我希望它们保持分开,以便在选择菜单图标时显示左侧菜单,而右侧菜单在移动设备上与全屏时保持相同。希望这是有道理的
  • 好的,最后更新在答案中,现在由您和media query

标签: jquery css media-queries zurb-foundation


【解决方案1】:

LIVE DEMO

<div class="off-canvas-wrap">
    <div class="inner-wrap">
        <aside class="left-off-canvas-menu">
            <ul class="off-canvas-list">
                <li><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Services</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
        </aside>
        <nav class="tab-bar show-for-small">

            <section class="top-bar-section">                        <!-- main nav section Left Nav Section--> 
                    <ul class="left">
                        <div class="right small-6">
                            <ul class="row">
                                <li class="has-dropdown not-click small-4 columns" id="account">
                                    <a href="#" class="top-bar-colour1"><i class="fi-en">icon</i></a>
                                    <ul class="dropdown">
                                        <li class="active"><a href="#">Languages</a></li> 
                                    </ul> 
                                </li>
                                <li class="has-dropdown not-click small-4 columns" id="basket">
                                    <a href="#" class="top-bar-colour2"><i class="fi-dollar">icon</i></a>
                                    <ul class="dropdown not-click">
                                        <li class="active"><a href="#">Currency</a></li>
                                    </ul>
                                </li>
                                <li class="has-dropdown not-click small-4 columns" id="currency">
                                    <a href="#" class="top-bar-colour3"><i class="fi-lock medium">icon</i></a>
                                    <ul class="dropdown">
                                        <li  class="active"><a href="#">Login</a></li>
                                    </ul>
                                </li>
                            </ul>
                        </div>
                        <a class="left-off-canvas-toggle menu-icon">
                            <span></span>
                        </a>
                    </ul>   
                </section>
        </nav>
        <div class="contain-to-grid fixed">
            <nav class="top-bar hide-for-small" data-topbar>
                <section class="top-bar-section">
                    <ul class="title-area left">
                        <li class="name hide-for-small">
                            <a></a>
                        </li>
                    </ul>

                    <!-- main nav section Left Nav Section-->
                    <ul class="left">
                        <li class="active"><a href="#">Home</a></li>
                        <li><a href="#">About</a></li>
                        <li><a href="#">Services</a></li>
                        <li><a href="#">Contact</a></li>
                        <li class="has-dropdown not-click">
                            <a href="#">Links</a>
                            <ul class="dropdown">
                                <li class="active"><a href="#">Dropdown Level 1</a></li>
                                <li><a href="#">Dropdown Option</a></li>
                                <li><a href="#">Dropdown Option</a></li>
                            </ul>
                        </li>
                    </ul>   
                        <!--Language, account, currency section Right Nav Section-->
                    <ul class="right">
                        <li class="has-dropdown not-click" id="account">
                            <a href="#" class="top-bar-colour1"><i class="fi-en">icon</i></a>
                            <ul class="dropdown">
                                <li class="active"><a href="#">Languages</a></li> 
                            </ul> 
                        </li>
                        <li class="has-dropdown not-click" id="basket">
                            <a href="#" class="top-bar-colour2"><i class="fi-dollar">icon</i></a>
                            <ul class="dropdown not-click">
                                <li class="active"><a href="#">Currency</a></li>
                            </ul>
                        </li>
                        <li class="has-dropdown not-click" id="currency">
                            <a href="#" class="top-bar-colour3"><i class="fi-lock medium">icon</i></a>
                            <ul class="dropdown">
                                <li  class="active"><a href="#">Login</a></li>
                            </ul>
                        </li>
                    </ul>
                </section>
            </nav>
        </div> <a class="exit-off-canvas" href="#"></a>
        <article class="small-12 columns">
            <main>
            </main>
        </article>
        <footer class="small-12 columns">

        </footer>
    </div>
</div>

【讨论】:

  • 嗨,这是不完整的吗?它似乎在您的演示中不起作用?抱歉,我不明白我需要做什么才能使其正常工作。我注意到您已经切换了标记,以便图标位于第一位,但这似乎没有任何区别。请确认。
  • 不是这只是第一步,修改你的代码,你会看到不同之处。顺便说一句,切换标记与解决方案无关。现在我需要知道最终结果会是什么样子,也许平局会有所帮助。请注意,您将不得不处理基础类和媒体查询large-12 medium-uncentered medium-push-5 small-centered small-pull-6 columns。这就是你的演示的样子jsfiddle.net/jff4wbeg
  • 我看不出有什么不同,所以我真的不明白这一点,抱歉。我需要一个解决方案,让菜单在移动设备上看起来像上面的示例
  • 好的,我只是想让您了解它的工作原理,而不仅仅是给您最终结果。但如果这是你想要的,我会更新答案
  • 无论屏幕大小如何,我都希望右侧的 3 个图标保持可见。我还希望在移动设备上时菜单图标位于左侧,如上例所示。希望能为您澄清事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-23
  • 2014-01-25
相关资源
最近更新 更多