html - 使用 anchor 和 :target for navigation. 如何默认显示第一层

标签 html css anchor

我正在尝试使用 anchor 和 CSS 作为导航。

如果用户点击菜单链接,应该显示 anchor 目标部分,但其他部分应该隐藏。

这是我正在使用的布局:

    <nav>
      <ul>
        <li><a href="#page1">Page #1</a></li>
        <li><a href="#page2">Page #2</a></li>
        <li><a href="#page3">Page #3</a></li>
      </ul>
    </nav>
    <div>
      <section id="page1">
        <h2>Page #1</h2>
      </section>
      <section id="page2">
        <h2>Page #2</h2>
      </section>
      <section id="page3">
        <h2>Page #3</h2>
      </section>
    </div>

这是我正在使用的 CSS:

    section:not(:target) {
      display: none;
    }
    section:target {
      display: block;
    }

一切正常,但我如何默认显示第一页?

最佳答案

您可以将第一页设置为 display:block; 并将其绝对定位为具有比其他页面更低的 z-index。

这样,它默认显示,您可以使用 :target 伪选择器在其上显示其他内容。

DEMO

CSS:

#page1 {
    display:block;
    position:absolute;
    top:76px;
    z-index:1
}
section:not(:target) {
    display: none;
}
section:target {
    display: block;
    background-color: #fff;
    position:relative;
    z-index:2;
}

关于html - 使用 anchor 和 :target for navigation. 如何默认显示第一层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24447217/

相关文章:

html - 顶部对齐两个具有不同字体大小的跨度

c# - 如果 HTML 不在 Razor 中呈现

html - 如何使用 css 和 html 将输入类型 ="text"放在图像上

javascript - 在 div 中将文本换行在两行内

html - CSS 背景图片问题

javascript - 使用比例转换更改响应式 slider 高度

javascript - 获取屏幕的当前左上角和右下角位置

python - 如何提取一些 anchor 标签之间的文本?

anchor - JavaFX anchor 不会扩展到整个场景

html - 带 anchor 的 CSS3 过渡