微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – 为什么页面锚点有时会错过?

HTML页面上,链接如下:
<a href="#pagelocation">Location on Page</a>

…应该导航到页面上的这个位置:

<a name="pagelocation">

但是根据我的经验,它有时会错过 – 特别是当从另一个页面链接时(如< a href =“somepage.html#pagelocation”>)).通过“错过”,我的意思是它滚动到页面上的错误的位置 – 也许接近,也许不是.

通常,目标位置最终位于屏幕顶部.我知道如果锚点下面没有足够的空间将其滚动到屏幕顶部,这可能会失败.

为什么会失败?它是否依赖于布局?我该怎么解决

(我保持这个一般,因为我想要一个全面的参考答案.)

更新1

感谢您对于非显式图像大小的指针.但是在一个页面上,所有的元素都有明确的大小呢? (我正在处理一个.)

解决方法

页面加载完成之前,通常会出现滚动.如果您没有宽度和高度的图像,页面跳转,然后加载图像并重新布局本身,使您之前跳过的位置似乎错误.

编辑:任何其他可以改变页面布局的东西也应该被怀疑,这包括没有加载到< head> (不要紧,所有的CSS应该加载在头上,并不总是).

如果页面通过重定向退回,我相信IE将滚动结束页面,但Firefox不会滚动.

原文地址:https://www.jb51.cc/html/230419.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐