单击锚链接时是否可以更改屏幕位置?默认情况下,当单击锚链接时,它会移动屏幕,使锚点位于屏幕的最顶部。我希望它能够转移,但我不想将它一直移到屏幕顶部,我希望从顶部有一些空间,也许从顶部开始说是50px。
示例:
<a href="#section1">section 1</a>
<a href="#section2">section 2</a>
....
....
<div id="text">
<div id="section1">text text text</div>
<div id="section2">text text text</div>
</div>
感谢。
答案 0 :(得分:3)
不需要JavaScript。这将做你想要的我怀疑。
此解决方案允许您将锚点放置在您希望屏幕滚动到偏离类adjusted-anchor
的CSS规则中指定的锚点的位置。
<style>
.anchor-container {
position:relative;
}
.adjusted-anchor {
position:absolute;
top: -150px;
}
</style>
<a href="#anchor">CONTINUED BELOW</a>
...
<div class="anchor-container"><div name="anchor" class="adjusted-anchor"></div></div>
<div>...continued from above</div>
偏移量是固定的,因此如果您的内容在调整屏幕大小时重新流动,则必须使用百分比或JavaScript来响应浏览器调整大小。
答案 1 :(得分:0)
使用纯HTML无法实现这一目标 - 您将在不同的浏览器中获得不同的结果。
查看javascript的window.scrollTo()
答案 2 :(得分:0)
纯CSS选项,不添加任何额外元素:
a.shifted-anchor {
display: block;
position: relative;
top: -100px;
}
<a name="something" class="shifted-anchor"></a>
答案 3 :(得分:0)
另一个选择是:
<style>
div.shifted {padding-top: 70px; margin-top: -70px;}
</style>
<div class="shifted" id="section1">text</div>
如果您在页面顶部有一个绝对定位的菜单,弄乱了锚点位置,那么这也可以使用。如果菜单的高度为70px,则上述代码将使锚点显示在菜单下方的div处。
答案 4 :(得分:0)
如果您需要将所有锚点放在页面下方:
a[id] {
padding-top: 170px;
margin-top: -170px;
}
玩得开心!