You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于锚点的内容显隐实现(默认显示首个)——纯HTML/CSS方案

嘿,这里有个纯HTML+CSS的方案,能完美实现基于锚点的内容显示/隐藏,并且默认展示第一个内容块,完全不需要JavaScript:

CSS 代码

/* 为不同内容块设置背景色方便区分 */
#red { background: red; }
#blue { background: blue; }
#green { background: green; }

/* 内容块基础样式:默认隐藏 */
.box {
  width: 200px;
  height: 200px;
  display: none;
}

/* 被锚点定位到的内容块切换为显示状态 */
.box:target {
  display: block;
}

/* 让第一个内容块默认显示 */
.box:first-of-type {
  display: block;
}

HTML 代码

<a href="#red">Red item</a> | <a href="#blue">Blue item</a> | <a href="#green">Green item</a>

<div class="box" id="red"></div>
<div class="box" id="blue"></div>
<div class="box" id="green"></div>

简单说下原理:

  • 所有.box元素默认通过display: none隐藏,我们用:first-of-type伪类单独让第一个内容块保持显示状态
  • 点击锚点链接时,浏览器会定位到对应ID的元素,此时:target伪类会匹配这个被选中的元素,把它的display改成block显示出来
  • 当切换到其他锚点时,之前的目标元素会失去:target的匹配,重新被隐藏,新的目标元素则会显示

内容的提问来源于stack exchange,提问作者GreyRoofPigeon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:41:02