我有一个网站,基本上是80%index.html以及一些较小的子页面。 Index.html分为几个部分。 但是,导航的位置为:fixed,高度为-例如-100px,因此链接类似
<a href="#section">
需要100像素的偏移量。 我是通过jQuery实现的(我将所有特定部分的if都排除在外):
$("#navigation a").click(function() {
event.preventDefault();
var offset = $("#section1").offset().top - 100;
$(window).scrollTop(offset);
}
问题在于,当我从子页面导航至index.html时,此技巧将不起作用,因此我不能在子页面上使用此功能,而只能“允许默认”。
有没有一种方法可以导航到具有适当偏移量的其他html文档的#section(不能硬编码)?
答案 0 :(得分:1)
您可以在没有Java脚本的情况下实现这一目标。
假设index.html上所有具有class部分的目标。使用此CSS代码段,固定的导航不会隐藏任何目标。
body {
padding-top: 60px;
margin-top: 0px;
}
#fixed-nav {
position:fixed;
height:50px;
line-height:50px;
vertical-align:middle;
background:#000;
top:0;
left:0;
right:0;
color:#FFF;
padding-left:5px;
}
#fixed-nav a {
color: white;
margin-right: 10px;
text-decoration: none;
}
#sections .section {
height:400px;
padding-left:5px;
}
#sections .section:before {
display: block;
content: " ";
margin-top: -60px;
height: 60px;
visibility: hidden;
<div id="fixed-nav">
<a href="#target-1">To target 1</a>
<a href="#target-2">To target 2</a>
<a href="#target-3">To target 3</a>
<a href="#target-4">To target 4</a>
<a href="#target-5">To target 5</a>
</div>
<div id="sections">
<div class="section" id="target-1">
Target 1
</div>
<div class="section" id="target-2">
Target 2
</div>
<div class="section" id="target-3">
Target 3
</div>
<div class="section" id="target-4">
Target 4
</div>
<div class="section" id="target-5">
Target 5
</div>
</div>