0

我正在使用响应式布局进行 wordpress 主题设计。响应式布局是使用 css3 media quires 安排的。目前这个主题导航依赖于大屏幕尺寸的水平超级鱼导航。我想使用超级鱼或手风琴将导航更改为垂直。如何更改移动屏幕的导航?

4

1 回答 1

1

这实际上取决于菜单的输出代码如何构建以使其具有响应性。但是,这里有一些可能会有所帮助的想法。有时您可以在移动设备上将菜单全部隐藏起来,然后显示另一个版本。这很棘手,因为在 DOM 中隐藏项目仍会将 HTML 输出到移动浏览器上,这会增加加载时间,但有时它是取决于可用性的最佳解决方案。

这是一个在 iPhone 等移动设备上输出滚动选择的快速片段

<select class="iphone-menu" ONCHANGE="location = this.options[this.selectedIndex].value;">
<option value="" selected="selected">Main Menu</option> 
<option value="/">Home</option> 
<option value="/portfolio">Portfolio</option> 
<option value="/services">Services</option> 
<option value="/knowledge">Knowledge</option> 
<option value="/blog">Blog</option> 
<option value="/about">About</option> 
<option value="/contact">Contact</option> 
</select>

我认为你想要的东西虽然你需要寻找这样的东西: http ://wpmegamenu.com/

我通常不推荐插件,但此菜单确实可以很好地折叠,以及您想要的方式。也许这可能是一个很好的参考点。他们使列表项在某个点具有 100% 的宽度,然后以不同的方式设置下拉菜单的样式。

它不会做手风琴,但会做下拉菜单。要制作手风琴,您必须使用 javascript 激活窗口调整大小的脚本,因此它只能在移动设备上用作手风琴,并在台式机和平板电脑上关闭。我绝不是 js 方面的专家,所以也许其他人可以更好地指导你,但基本的调整大小功能将是这样的:

    function checkWidth(init)
{
    /*If browser resized, check width again */
    if ($(window).width() < 979 ) {

        // accordion script here

    }
    else {
        if (init == false) {

            // deactivate script here

        }
    }
}

// this function returns the width of the browser window
$(document).ready(function() {
    checkWidth(true);

    $(window).resize(function() {
        checkWidth(false);
    });
});

希望这会为您指明正确的方向。我使用这些不同的方法在响应式网站上实现了不同的菜单,它们对我来说效果很好。

于 2012-12-21T17:03:00.823 回答