首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >点击锚链接时如何避免跳跃

点击锚链接时如何避免跳跃
EN

Stack Overflow用户
提问于 2022-08-30 18:45:42
回答 2查看 58关注 0票数 1

我想使用完全没有JavaScript的CSS来显示/隐藏内容。我找到了这个解决方案。

当我点击链接时,它会在页面中跳下去。我需要纯CSS解决方案,如何阻止它跳转?

代码语言:javascript
复制
p[id^="detailView-"] {
  display: none;
}

p[id^="detailView-"]:target {
  display: block;
}
代码语言:javascript
复制
<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>

EN

回答 2

Stack Overflow用户

发布于 2022-08-30 18:53:31

只需排列html,使锚标记位于顶部,如下所示

代码语言:javascript
复制
p[id^="detailView-"] {
  display: none;
}

p[id^="detailView-"]:target {
  display: block;
}
代码语言:javascript
复制
<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>

票数 1
EN

Stack Overflow用户

发布于 2022-08-30 20:31:30

在这种情况下,不要在以下两种情况下相互切换:

  • display: none
  • display: block

您可以在以下之间切换:

  • visibility: hidden
  • visibility: visible

这两个属性的不同之处在于:

  • visibility维护元素的页空间,即使该元素是invisible
  • display: none,它实际上也会从页面中删除元素并折叠它占用

的空间。

工作示例:

代码语言:javascript
复制
p[id^="detailView-"] {
  visibility: hidden;
}

p[id^="detailView-"]:target {
  visibility: visible;
}
代码语言:javascript
复制
<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>

继续阅读:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73547159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档