純CSS實(shí)現(xiàn)網(wǎng)頁內(nèi)部錨點(diǎn)跳轉(zhuǎn)時(shí)上下偏移的示例代碼

最近在做我的“足球?qū)Ш?rdquo;網(wǎng)站的時(shí)候遇到一個(gè)網(wǎng)頁內(nèi)部錨點(diǎn)跳轉(zhuǎn)后向下偏移一點(diǎn),以避免被頂部固定導(dǎo)航欄遮住的需求。
網(wǎng)上搜索了一些方法,大多數(shù)都是利用js在跳轉(zhuǎn)時(shí)候進(jìn)行控制,后來在一個(gè)國外開發(fā)者的個(gè)人博客上發(fā)現(xiàn)一個(gè)只用css實(shí)現(xiàn)的方法,覺得簡潔的很,順手將他的實(shí)現(xiàn)方法翻譯過來。通常我們網(wǎng)頁頂部的固定導(dǎo)航欄的的樣式實(shí)現(xiàn)如下:
<div class="header" style="position: fixed; top: 0;"></div>
隨后,會(huì)有一個(gè)跳轉(zhuǎn)的a鏈接列表:
<ul> <li><a href="#section1">Anchor Text</a></li> <li><a href="#section2">Anchor Text</a></li> </ul>
需求是點(diǎn)擊上面每個(gè)a鏈接的時(shí)候,頁面定位到相應(yīng)id的錨點(diǎn)位置:
<div class="section" id="section1"></div> <div class="section" id="section2"></div>
但是如果頂部有個(gè)position:fixed的div的話,定位到這個(gè)錨點(diǎn)的時(shí)候,錨點(diǎn)中內(nèi)容的上部會(huì)被頂部固定的div遮住。解決方案是在每個(gè)定位內(nèi)容處加一個(gè)空的頁面錨點(diǎn),將要跳轉(zhuǎn)的頁面元素id放到這個(gè)空元素上,并設(shè)置該空元素的css熟悉,以實(shí)現(xiàn)跳轉(zhuǎn)時(shí)候的偏移。我們定義的空元素為這個(gè)類為anchor的div,同時(shí)將div的id設(shè)置為上面a鏈接要跳轉(zhuǎn)的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; /*和頂部fix的高度一致*/ margin-top: -60px; /*和頂部fix的高度一致*/ visibility: hidden; }
到這里,就實(shí)現(xiàn)我們要的內(nèi)部錨點(diǎn)跳轉(zhuǎn)的功能。
簡而言之,這里的偏移值就是跳轉(zhuǎn)時(shí)候空元素占據(jù)的高度,利用這個(gè)占位元素達(dá)到了我們需要的錨點(diǎn)跳轉(zhuǎn)時(shí)候的偏移效果。
到此這篇關(guān)于純CSS實(shí)現(xiàn)網(wǎng)頁內(nèi)部錨點(diǎn)跳轉(zhuǎn)時(shí)上下偏移的示例代碼的文章就介紹到這了,更多相關(guān)CSS 內(nèi)部錨點(diǎn)跳轉(zhuǎn)上下偏移內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
使用CSS中的meta實(shí)現(xiàn)web定時(shí)刷新或跳轉(zhuǎn)的方法
這篇文章主要介紹了使用CSS中的meta實(shí)現(xiàn)web定時(shí)刷新或跳轉(zhuǎn)的方法,比使用JavaScript腳本實(shí)現(xiàn)起來更加簡單一些,需要的朋友可以參考下2015-06-05CSS實(shí)現(xiàn)超級(jí)鏈接需要通過雙擊后跳轉(zhuǎn)
超級(jí)鏈接需要雙擊后跳轉(zhuǎn)如何實(shí)現(xiàn),其實(shí)很簡單,在本文將為大家介紹下具體的實(shí)現(xiàn)方法,感興趣的朋友不要錯(cuò)過2013-10-12CSS頁面中點(diǎn)擊超鏈接如何跳轉(zhuǎn)新的頁面
這篇文章主要介紹了CSS頁面中點(diǎn)擊超鏈接如何跳轉(zhuǎn)新的頁面,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-13