[英]Jump to a specific part of page
我已经在我的 Shopify 主题上尝试了一个简单的“功能”,我想要一个链接跳转到页面的特定部分 - 非常简单,我已经这样做了。
<a href="#jumpto">Jump to section</a>
<span id="jumpto">The section i want to jump to</span>
它就像一个魅力,但是! 我有一个粘性标题,其中隐藏了“我想跳转到的部分”。 有没有什么办法,用css,把它向下推一点,这样“我想跳到的部分”就会显示在标题的正下方。
基本上我希望span
元素出现在标题下方,例如 50px。
我的设置看起来像这样
<div id="sectiona">
</div>
<span id="jumpto">The section i want to jump to</span>
<div id="sectionb">
</div>
如果我使用边距 og 填充,则两者之间的差距会很大。
您可以使用 JavaScript 来解决您的问题并平滑滚动。
$('a[href*="#"]').click(function(){
$('html, body').animate({
scrollTop: $( $(this).attr('href') ).offset().top - 50
}, 500);
return false;
});
这可能不是最漂亮的解决方案,但它应该可以解决问题。 通过将空跨度 ( .jump-marker
) 作为跳跃点,您可以偏移锚点跳转到的位置。
.jump-marker {
position: absolute;
margin: -120px 0 0;
}
您还可以使用 JS/jQuery 通过标题高度来偏移滚动距离,并允许平滑滚动,这更令人赏心悦目,但这不是要求的! :)
例子:
body { padding-top: 120px; } header { position: fixed; top: 0; left: 0; right: 0; background: rgba(255,0,0,0.25); height: 100px; } .more-content { height: 1000px; background: #f7f7f7; } section { position: relative; } .jump-marker { position: absolute; margin: -120px 0 0; }
<header></header> <a href="#jumpto">Jump to section</a> <div class="more-content"></div> <section> <div class="section-content"> <span id="jumpto" class="jump-marker"></span> The section i want to jump to </div> </section> <div class="more-content"></div>
我固定了一个基本的标题,并使链接标签链接从我想要链接的地方偏移。 这个解决方案非常粗糙,但可以使用良好的 CSS 并放置 html:
<div class="jumpTo">
<a id="0">0</a>
</div>
<h2>0</h2>
css:
.jumpTo{
margin-bottom: 100px;
font-size: 0;
}
https://jsfiddle.net/ovcx2t9z/
或基于 Jquery 解决方案的小提琴
您可以使用 JavaScript 来解决您的问题并平滑滚动。
$('a[href*="#"]').click(function(){
$('html, body').animate({
scrollTop: $( $(this).attr('href') ).offset().top - 50
}, 500);
return false;
});
页面是如何布局的? 您是否尝试过使用填充或边距调整,例如 .. padding-top:50px; 或边距顶部:50px。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.