所以,我希望有一个标题与这里http://www.blackmesasource.com/的标题类似,唯一的问题是我对javascript和jquery一无所知,有人可以帮助我吗?
答案 0 :(得分:3)
很好 - 我刚刚为你敲了 - 这很粗糙,没有跨浏览器测试:
<style type="text/css">
body {
padding:0;
margin:0;
}
#hero {
background-color:#eee;
}
nav {
position:absolute;
bottom:0;
left:0;
background-color:#ccc;
box-sizing:border-box;
width:100%;
padding:20px;
}
nav.fixed-position {
position:fixed;
top:0;
bottom:initial;
}
</style>
<body>
<div>
<div id="hero">
<nav id="nav-menu">
Your nav here
</nav>
</div>
<section style="height:2000px;">
content
</section>
</div>
<script type="text/javascript">
var hero = document.getElementById('hero'),
nav = document.getElementById("nav-menu"),
viewportHeight = Math.max(window.innerHeight || 0),
navOffsetTop = nav.offsetTop;
hero.style.height = viewportHeight + 'px';
var hasScrolled = function() {
var fromTop = document.body.scrollTop || document.documentElement.scrollTop || 0;
if (navOffsetTop < fromTop) {
nav.classList.add('fixed-position');
} else {
nav.classList.remove('fixed-position');
}
}
window.addEventListener('scroll', hasScrolled);
</script>
</body>
您可以将其放入一个空文件并在浏览器中运行以查看结果 - 我在Firefox中测试它没有任何问题,但正如我所说,它需要额外的工作;如:
此外,这不需要jQuery,但考虑到我刚刚建议您需要做的事情,您可能需要考虑使用它 - 它主要是crossbrowser,如果你真的不知道JS,它会帮助你很多
答案 1 :(得分:0)
您可以在此处查看最佳资源。只需遵循相同的结构https://css-tricks.com/scroll-fix-content/
即可