文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

纯CSS实现网页内部锚点跳转时上下偏移的方法

2023-06-08 04:37

关注

这篇文章给大家分享的是有关纯CSS实现网页内部锚点跳转时上下偏移的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

最近在做我的“足球导航”网站的时候遇到一个网页内部锚点跳转后向下偏移一点,以避免被顶部固定导航栏遮住的需求。

网上搜索了一些方法,大多数都是利用js在跳转时候进行控制,后来在一个国外开发者的个人博客上发现一个只用css实现的方法,觉得简洁的很,顺手将他的实现方法翻译过来。通常我们网页顶部的固定导航栏的的样式实现如下:

<div class="header" style="position: fixed; top: 0;"></div>

随后,会有一个跳转的a链接列表:

<ul>  <li><a href="#section1">Anchor Text</a></li>  <li><a href="#section2">Anchor Text</a></li></ul>

需求是点击上面每个a链接的时候,页面定位到相应id的锚点位置:

<div class="section" id="section1"></div><div class="section" id="section2"></div>

但是如果顶部有个position:fixed的div的话,定位到这个锚点的时候,锚点中内容的上部会被顶部固定的div遮住。解决方案是在每个定位内容处加一个空的页面锚点,将要跳转的页面元素id放到这个空元素上,并设置该空元素的css熟悉,以实现跳转时候的偏移。我们定义的空元素为这个类为anchor的div,同时将div的id设置为上面a链接要跳转的id:

<div class="anchor" id="section1"></div><div class="section"></div><div class="anchor" id="section2"></div><div class="section"></div>

该空元素的css属性如下:

.anchor{  display: block;  height: 60px;   margin-top: -60px;   visibility: hidden;}

到这里,就实现我们要的内部锚点跳转的功能。

简而言之,这里的偏移值就是跳转时候空元素占据的高度,利用这个占位元素达到了我们需要的锚点跳转时候的偏移效果。

感谢各位的阅读!关于“纯CSS实现网页内部锚点跳转时上下偏移的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯