目录

…">
当前位置:首页 > CSS

css制作目录

2026-02-27 06:28:56CSS

使用CSS制作目录的方法

基础HTML结构

创建一个简单的HTML结构,包含标题和对应的锚点链接。

<div class="toc">
  <h3>目录</h3>
  <ul>
    <li><a href="#section1">第一部分</a></li>
    <li><a href="#section2">第二部分</a></li>
    <li><a href="#section3">第三部分</a></li>
  </ul>
</div>

<div id="section1">
  <h2>第一部分</h2>
  <p>内容...</p>
</div>

<div id="section2">
  <h2>第二部分</h2>
  <p>内容...</p>
</div>

<div id="section3">
  <h2>第三部分</h2>
  <p>内容...</p>
</div>

基本CSS样式

为目录添加基础样式,如字体、间距和颜色。

.toc {
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  padding: 15px;
  border-radius: 5px;
  margin-bottom: 20px;
}

.toc h3 {
  margin-top: 0;
  color: #333;
}

.toc ul {
  list-style-type: none;
  padding-left: 0;
}

.toc li {
  margin-bottom: 8px;
}

.toc a {
  text-decoration: none;
  color: #0066cc;
}

.toc a:hover {
  text-decoration: underline;
}

美化目录样式

添加更复杂的美化样式,如悬停效果和层级缩进。

css制作目录

.toc {
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.toc ul ul {
  padding-left: 20px;
}

.toc a {
  display: block;
  padding: 5px 10px;
  transition: background-color 0.3s;
}

.toc a:hover {
  background-color: #f0f0f0;
  color: #004499;
}

响应式目录设计

确保目录在不同屏幕尺寸下都能正常显示。

@media (max-width: 768px) {
  .toc {
    width: 100%;
    box-sizing: border-box;
  }

  .toc ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .toc li {
    margin-bottom: 0;
  }
}

固定定位目录

创建固定在页面一侧的目录,方便长文档导航。

css制作目录

.toc {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 250px;
  max-height: 80vh;
  overflow-y: auto;
}

@media (max-width: 1024px) {
  .toc {
    position: static;
    width: auto;
    max-height: none;
  }
}

动态高亮当前章节

使用JavaScript和CSS结合,高亮显示当前浏览的章节。

.toc a.active {
  font-weight: bold;
  color: #003366;
  background-color: #e6f2ff;
  border-left: 3px solid #0066cc;
}
window.addEventListener('scroll', function() {
  const sections = document.querySelectorAll('div[id^="section"]');
  const links = document.querySelectorAll('.toc a');

  sections.forEach(section => {
    const rect = section.getBoundingClientRect();
    if (rect.top <= 100 && rect.bottom >= 100) {
      links.forEach(link => {
        link.classList.remove('active');
        if (link.getAttribute('href') === `#${section.id}`) {
          link.classList.add('active');
        }
      });
    }
  });
});

多级嵌套目录样式

为包含多级子目录的情况设计样式。

.toc ul ul {
  margin-top: 5px;
  border-left: 1px dashed #ccc;
}

.toc ul ul a {
  font-size: 0.9em;
  color: #666;
}

.toc ul ul a:hover {
  color: #004499;
}

打印优化样式

确保目录在打印时也能正常显示。

@media print {
  .toc {
    page-break-after: avoid;
    break-after: avoid;
  }

  .toc a::after {
    content: " (第" target-counter(attr(href), page) "页)";
  }
}

标签: 目录css
分享给朋友:

相关文章

css 导航栏制作

css 导航栏制作

水平导航栏制作 使用无序列表<ul>和<li>标签构建基础结构,通过CSS将列表项横向排列 <nav> <ul class="horizontal-na…

淘宝导航css制作

淘宝导航css制作

淘宝导航CSS制作 淘宝导航栏通常包含多个层级,包括主导航、子导航等。以下是实现类似淘宝导航栏的CSS制作方法。 基础HTML结构 <div class="nav-container">…

css 制作购物网站

css 制作购物网站

布局设计 使用CSS Grid或Flexbox创建响应式布局。Grid适合整体页面结构,Flexbox适合局部组件排列。定义网格模板区域,如头部、导航、商品展示区、侧边栏和页脚。 .containe…

css制作tkd

css制作tkd

CSS 制作 TKD(Title, Keywords, Description) TKD(Title, Keywords, Description)是网页 SEO 优化的核心元素,通常通过 HTML…

css表格制作表格

css表格制作表格

CSS 表格制作方法 基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<td>(单元格)和<th>(表头)标签: &l…

css制作表单

css制作表单

创建基本表单结构 使用HTML的<form>标签作为表单容器,内部包含输入字段、标签和提交按钮。表单元素通常需要<label>关联以提高可访问性。 <form>…