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

前端之家收集整理的这篇文章主要介绍了html – 为什么页面锚点有时会错过?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
HTML页面上,链接如下:
<a href="#pagelocation">Location on Page</a>

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

<a name="pagelocation">

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

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

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

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

更新1

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

解决方法

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

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

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

猜你在找的HTML相关文章