[英]How to avoid jumping when click on anchor link
我想使用沒有 JavaScript 的純粹 CSS 顯示/隱藏內容。 我達到了這個解決方案。
當我單擊鏈接時,它會在頁面中跳轉。 我需要純 CSS 解決方案,如何阻止它跳躍?
p[id^="detailView-"] { display: none; } p[id^="detailView-"]:target { display: block; }
<a href="#detailView-1">Show View1</a> <p id="detailView-1">View1</p> <a href="#detailView-2">Show View2</a> <p id="detailView-2">View2</p>
只需安排您的 html 使錨標簽位於頂部,如下所示
p[id^="detailView-"] { display: none; } p[id^="detailView-"]:target { display: block; }
<a href="#detailView-1">Show View1</a> <a href="#detailView-2">Show View2</a> <p id="detailView-1">View1</p> <p id="detailView-2">View2</p>
在這種情況下,而不是在之間切換:
display: none
display: block
您可以在以下之間切換:
visibility: hidden
visibility: visible
這兩個屬性的區別在於:
visibility
維護元素的頁面空間,即使該元素不可見display: none
實際上會從頁面中刪除元素並折疊它所占用的空間工作示例:
p[id^="detailView-"] { visibility: hidden; } p[id^="detailView-"]:target { visibility: visible; }
<a href="#detailView-1">Show View1</a> <p id="detailView-1">View1</p> <a href="#detailView-2">Show View2</a> <p id="detailView-2">View2</p>
延伸閱讀:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.