仅在移动设备上进行基础画布外导航?
Posted
技术标签:
【中文标题】仅在移动设备上进行基础画布外导航?【英文标题】:Foundation off-canvas navigation on mobile only? 【发布时间】:2014-01-28 13:53:39 【问题描述】:我正在使用 Foundation 制作画布外导航,但是,我只希望画布外导航显示在移动设备上,在桌面浏览器上我将使用标准导航菜单。我的问题是,我可以将画布外导航中的代码重用于桌面导航,还是必须编写 2 个单独的导航菜单?
这是我的非画布导航的导航代码:
<div class="off-canvas-wrap">
<div class="inner-wrap">
<nav class="tab-bar">
<section class="left-small">
<a class="left-off-canvas-toggle menu-icon" ><span></span></a>
</section>
</nav>
<aside class="left-off-canvas-menu">
<ul class="off-canvas-list">
<li % if page.slug == "index" %class="active"% endif %>
<a href="/">Home</a>
</li>
<li>% nav site, no_wrapper: true %</li>
</ul>
</aside>
<section class="main-section">
PAGE CONTENT HERE
</section>
<a class="exit-off-canvas"></a>
</div>
</div>
提前致谢!
【问题讨论】:
【参考方案1】:不幸的是,您需要使用单独的导航集才能实现您想要的。但是,为了同时使用这两者,您需要构建您的网站以适应画布外菜单,但仅在您使用小菜单时才调用画布外菜单。您将在网站主要部分(在“主要部分”内)使用的菜单必须隐藏得很小,以避免显示多个菜单。
我们最近在公司网站上遇到了这个问题,我们只想调用一次导航,但事实证明这非常困难。
这是结构外观的基本示例:
<div class="off-canvas-wrap">
<div class="inner-wrap">
<nav class="tab-bar show-for-small">
<section class="left-small">
<a class="left-off-canvas-toggle menu-icon" ><span></span></a>
</section>
<section class="middle tab-bar-section">
<h1 class="title"><a href="/home"><img id="logoSmall" src="/images/main/header_logo_small.png" /></a></h1>
</section>
</nav>
<aside class="left-off-canvas-menu">
<ul class="off-canvas-list">
<li><label>Menu</label></li>
<li><a>link1</a></li>
<li><a>link2</a></li>
<li><a>link2</a></li>
</ul>
</aside>
<section class="main-section">
<!-- All of your website goes here -->
<!-- Including the navigation you want to show on medium-and-up-->
</section>
<a class="exit-off-canvas"></a>
</div><!--/innerWrapp-->
</div><!--/offCanvasWrap-->
【讨论】:
【参考方案2】:隐藏导航如下:
.tab-bar, .left-off-canvas-menu
visibility: hidden;
并在小型设备(150px - 600px)上使用媒体查询显示它:
@media only screen and (min-width: 150px) and (max-width: 600px) /* only --> tells older browsers to ignore this code*/
/* DISPLAY ALTERNATIVE NAVIGATION IN MOBILE MODE */
.tab-bar, .left-off-canvas-menu
display: block;
visibility: visible;
【讨论】:
以上是关于仅在移动设备上进行基础画布外导航?的主要内容,如果未能解决你的问题,请参考以下文章
在移动设备上进行第二次音频录制后未触发 SampleDataEvent
css 将div中的所有表包装在一起以允许在移动设备上进行水平滚动 - CSS AND JS
css 将div中的所有表包装在一起以允许在移动设备上进行水平滚动 - CSS AND JS