更改#anchor的默认开始位置
我有一个正在工作的锚链接,网址为:
site.com/item/id#comment-233
打开时,锚点将定位在页面的顶部。
我如何改变起点? 假设我希望它从顶部向下50px
。
我需要这个的原因是因为我在页面顶部有固定图层,所以评论出现在固定标题div
后面。
以防万一,由于跨浏览器的兼容性,我更喜欢一个解决方案,不涉及将注释的容器更改为固定和定位顶部减去标题的高度。
假设你的<a>
标签没有内容,添加一个类给它,标签的position:relative; top:-50px;
position:relative; top:-50px;
根据你的文档,你也必须把它包装在一个绝对的<div>
如果实施正确,这应该是跨浏览器兼容的。
编辑
这是我在本地完成的测试,它在FF 3.6中正常工作
<html>
<body style='margin:0; padding:0;'>
<div style='position:fixed; height:50px; background-color:#F00; width:100%'>
Fixed header
</div>
<div style='padding-top:50px'>
<div style='height:100px; margin-top:10px; background-color:#0F0'><a href='#linkhere'>Go to anchor</a></div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>
<a name='linkhere' style='position:relative; top:-75px;'></a>
Link here</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
<div style='height:100px; margin-top:10px; background-color:#0F0'>Blah</div>
</div>
</body>
</html>
基于以上建议,这对我来说很有帮助:
<a name="[my-anchor-name]" class="anchor"></a>
.anchor {
position:relative;
top:-30px; /* or whatever value you need */
}
.anchor{
display: block;
height: 115px; <!--same height as header-->
margin-top: -115px; <!--same height as header-->
visibility: hidden;
}
<span class="anchor"></span>
<div>content...</div>
从http://www.pixelflips.com/blog/anchor-links-with-a-fixed-header/
链接地址: http://www.djcxy.com/p/62045.html上一篇: Changing default starting position of #anchor
下一篇: Problem with HTML anchor in absolute DIV 300px from the top..?