html - 基于 anchor 显示/隐藏内容;默认先显示

标签 html css

使用纯 HTML 和 CSS 可以显示和隐藏带有 anchor 标记的内容:

#red { background: red; }
#blue { background: blue; }
#green { background: green; }
.box {
  width: 200px;
  height: 200px;
  display: none;
}
.box:target {
  display: block;
}
<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>

但是如何在页面加载时显示第一个(红色)元素?

最佳答案

如果您可以修改 html 并将红色框放在最后,那么您可以执行以下操作:

#red {
  background: red;
  display: block;
}
#blue { background: blue; }
#green { background: green; }
.box {
  width: 200px;
  height: 200px;
  display: none;
}
.box:target {
  display: block;
}
.box:target ~ #red {
    display: none;
}

关于html - 基于 anchor 显示/隐藏内容;默认先显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49650794/

相关文章:

css - 将 <div> 高度设置为 100% 在桌面上有效但在平板电脑上无效?

css - 管理面板 - 流体宽度与固定宽度?

html - 图片(HTML 和 CSS)

html - 难以移动导航项和下拉菜单

javascript - 从外部 JS 调用函数

html - 我可以使用选择器来控制跨 div 的复选框吗?

html - 如何使下拉菜单出现在另一个div的顶部

jquery - 我无法在焦点上停止 css/jquery 动画

javascript - .data() html5跨窗口

html - Internet Explorer 9 不显示 PNG 图像