【发布时间】:2015-01-06 03:09:08
【问题描述】:
我已经绞尽脑汁想解决这个问题好几天了。我有一个使用小 jQuery 的粘性标题:
<script>
$(window).scroll(function() {
if ($(this).scrollTop() > 1){
$('header').addClass("sticky");
}
else{
$('header').removeClass("sticky");
}
});
</script>
然后,在我的标题中,我使用媒体查询隐藏了移动菜单,直到最小宽度为 750 像素。 HTML 如下所示:
<div class="menu-button">
<i class="fa fa-align-justify"></i>
<span>Menu</span>
</div>
<div class="secondary-nav-wrapper">
<nav role="navigation" class="responsive-nav">
<ul>
<li class="menu-title">
Where to?
</li>
<li>
<a href="index.php" class="home" title="Home">Home</a>
</li>
<li>
<a href="contact/contact.php" class="contact" title="About and Contact">About</a>
</li>
<li>
<a href="portfolio.php" class="portfolio" title="Portfolio">Portfolio</a>
</li>
</ul>
</nav>
</div>
我一直在为我的 CSS 使用 SASS,它看起来像这样:
body.shift-left {
background-color: $softblack;
div.page {
@include transition(all 0.25s ease 0s);
left: -345px;
position: relative;
top: 0;
header {
div.secondary-nav-wrapper {
display: block;
position: fixed;
right: 12px;
top: 8px;
width: 324px;
nav.responsive-nav {
display: block;
ul {
padding: 0;
margin: 0;
line-height: 46px;
li.menu-title {
font-family: $font-primary;
color: white;
font-size: 2em;
background-color: $blackgrey;
padding: 5px 5px 5px 15px;
}
li {
font-family: $font-default;
color: $lightgrey;
font-size: 1.5em;
a {
display: block;
}
}
hr {
border: 0;
height: 1px;
background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
background-image: -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
background-image: -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
background-image: -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
}
}
}
}
}
}
}
现在,(终于)进入正题。它在桌面上完美运行,正是我想要的样子:
然后每当我使用移动设备时:As you can see, 标题与菜单重叠,看起来很糟糕。
菜单的工作原理:我正在使用 jQuery 向 body 添加一个类,当它添加时,我设置了它的样式,以便 body 根据菜单向右或向左移动。
添加类的 HTML 如下所示。
<body class="" id="home">
<div class="page">
<header>
我不知道发生了什么。如果固定位置在手机上中断,我已经查找过,但没有收到明确的答案;我尝试过使用 z-index 但这没关系。我什至尝试过绝对定位它,除了“div.page”上的背景颜色之外的所有东西都放在前面。那个“修复”一分钟看起来还不错,直到我向下滚动并且标题坏了并且徽标出现在顶部位置。
如果您想亲自看看我在说什么,我的测试站点是:kevindenchdesign.com/playground/index.php 留在索引页面上,因为我正在尝试修复首先是该页面上的移动问题。其他页面已损坏,并且很多链接都无法正常工作。所以继续检查索引页面。
我非常感谢您对此提供的任何帮助或建议,因为让导航在移动设备上正常工作是一件好事。如果您无法弄清楚并愿意共享代码,我也愿意接受其他制作菜单的方式。
再次感谢,周末愉快。
【问题讨论】:
-
我删除了关于该建议的评论,请随时关注 - 然后我可以删除它以结束循环。