您可以创建一个绝对定位的链接,指向出现在您的链接前面的另一个锚点:target,并使其仅在当前:target有效时显示。所以在视觉上它将表现为一个切换链接(见小提琴):
HTML
<div id="test">
<h2>
<a href="#test">Open me</a>
<a href="#" class="untarget"></a>
</h2>
<div>
<p>Some contents</p>
<p>Some more contents</p>
<p>Some more contents again</p>
</div>
</div>
CSS的关键部分
h2 {
position: relative;
display: inline-block;
}
.untarget {
position: absolute;
top: 0;
width: 100%;
height: 100%;
display: none;
}
:target .untarget {
display: block;
}
另一种(并且非常流行)在没有 JS 的情况下实现切换功能的方法是使用隐藏的复选框/单选按钮及其:checked伪类以及 CSS 兄弟组合器。但我个人怀疑它是否是正确的 HTML 使用方式。