利用JS生成博文目录及CSS定制博客

下面是“利用JS生成博文目录及CSS定制博客”的完整攻略:

1. 生成博文目录

1.1 实现原理

利用JS生成博文目录的原理是通过JS获取博客文章的标题、对应的dom节点和锚点,然后利用DOM操作动态生成目录并插入到博客页面的特定位置。

1.2 示例代码

以下是一个简单的JS生成目录的示例代码,实现了获取所有标题,创建目录结构并添加到页面对应位置的功能。

// 获取所有文章标题元素
const h2List = document.querySelectorAll('h2')

// 创建目录列表元素
const ul = document.createElement('ul')

// 遍历所有标题并创建对应目录项链接
for (let i = 0; i < h2List.length; i++) {
  const h2 = h2List[i]
  const li = document.createElement('li')
  const a = document.createElement('a')
  const text = document.createTextNode(h2.innerText)

  a.appendChild(text)
  a.href = `#title${i}`
  li.appendChild(a)
  ul.appendChild(li)

  h2.id = `title${i}`
}

// 添加目录列表到页面特定位置
const nav = document.querySelector('.nav') // 导航栏容器元素
const div = document.createElement('div')
div.classList = 'blog-toc'

const title = document.createElement('h3')
title.innerText = '文章目录'
div.appendChild(title)
div.appendChild(ul)

nav.prepend(div)

1.3 注意事项

  1. 对于异步加载页面内容的博客,需要等页面内容加载完成后再运行JS生成目录。
  2. 为了避免目录占用页面过多空间,建议设置目录的固定高度并添加滚动条功能。
  3. 目录链接需要与文章标题的锚点对应,否则点击目录链接无法跳转到目标位置。

2. CSS定制博客

2.1 实现原理

利用CSS定制博客的原理是通过修改博客页面中各元素的样式,实现美化博客的效果。

2.2 示例代码

以下是一个简单的CSS定制博客的示例代码,实现了修改标题字体、调整图片大小、添加背景图和调整导航栏样式的功能。

/* 修改标题字体 */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* 调整图片大小 */
img {
  max-width: 100%;
  height: auto;
}

/* 添加背景图 */
body {
  background-image: url(bg.jpg);
  background-size: cover;
}

/* 调整导航栏样式 */
.nav {
  background-color: #fff;
  box-shadow: 0px 2px 6px rgba(0,0,0,0.2);
}

.nav a {
  color: #333;
  text-decoration: none;
  font-weight: bold;
  padding: 10px 15px;
  border-radius: 5px;
}

.nav a:hover {
  background-color: #e5e5e5;
}

2.3 注意事项

  1. CSS样式的修改应该有节制,避免影响页面的可读性和交互性。
  2. 可以考虑使用CSS框架或UI组件库来快速搭建博客的样式,避免重复造轮子。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用JS生成博文目录及CSS定制博客 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 行李丢失怎么办? 12306网站遗失物品查找功能的使用方法

    行李丢失怎么办? 如果您的行李在乘坐火车时不幸丢失了,可以通过以下步骤解决: 在火车站的行李寄存处找工作人员询问,看是否有寻回或遗失登记的记录。 如果在寄存处没有找到,可前往铁路客服中心申报行李丢失,并填写行李丢失申报单。 如需进行进一步的查询、追踪和赔偿,可登录12306网站,使用官方提供的遗失物品查找功能。 12306网站遗失物品查找功能的使用方法 12…

    css 2023年6月10日
    00
  • css网站布局实录学习笔记第三部分网页布局与定位

    下面是关于“CSS 网站布局实录学习笔记第三部分:网页布局与定位”的完整攻略: 一、网页布局与定位 在网页开发中,网页的整体结构是最基本也是最重要的一部分。通过 CSS 的布局和定位技巧,可以实现网页中各个元素的排布和位置控制。以下是一些常见的布局和定位技巧: 1. 浮动(float)布局 浮动布局是最常见的布局方式之一。使用 float 属性让元素脱离文档…

    css 2023年6月9日
    00
  • CSS 2D转换

    CSS 2D 转换是一种将元素沿 X 轴或 Y 轴旋转,添加缩放因子和移动元素的技术。 以下是 CSS 2D 转换的属性: transform:应用 2D 转换 transform-origin:指定转换的轴心,其默认值为中间点。 下面是一些示例: 缩放元素: div { transform: scale(1.5); } 旋转元素: div { transf…

    Web开发基础 2023年3月30日
    00
  • div 内table 居中实现代码

    实现 div 内 table 居中可以采用以下两种方法: 方法一:使用 flex HTML 代码: <div class="container"> <table> <tr> <td>示例</td> <td>示例</td> <td>示例</…

    css 2023年6月10日
    00
  • 通用JSP页面 jsp入门级文章

    针对文章“通用JSP页面 jsp入门级文章”的完整攻略,我可以提供以下细致的讲解: 一、什么是通用JSP页面? 通用JSP页面是一种可以在多个JSP页面中复用的模板文件,通过抽象出相同的页面结构和样式,减少重复的代码编写,提高代码的可复用性和代码编写效率。 二、如何创建通用JSP页面? 1.新建一个JSP文件,并把公共的HTML代码片段放到这个文件中。例如,…

    css 2023年6月9日
    00
  • Query常用DIV操作获取和设置长度宽度的实现方法

    获取和设置元素的长度和宽度,是前端开发中经常需要涉及的操作。在 Query 中,可以通过 DIV 操作来实现。以下是该操作的具体攻略及两个示例说明: 1. 获取元素的长度和宽度 获取元素的长度和宽度,可以使用 width() 和 height() 方法。 width() 方法用于返回元素的宽度,包括 padding 和 border 的宽度,但不包括 mar…

    css 2023年6月10日
    00
  • 利用UL、Li+CSS属性制作无表格实用菜单导航效果

    关于“利用UL、Li+CSS属性制作无表格实用菜单导航效果”的攻略,我将从以下几个方面进行介绍: 基本思路 HTML和CSS代码示例 注意事项和优化建议 1. 基本思路 制作无表格实用菜单导航效果的基本思路是利用HTML的无序列表<ul>和列表项<li>元素,结合CSS属性,实现导航菜单的样式美化和交互体验。 具体而言,我们可以将菜单…

    css 2023年6月10日
    00
  • html的基本使用包括链接、样式表、span和div等等

    下面我将详细讲解关于HTML的基本使用,包括链接、样式表、span和div等的完整攻略。 链接 在HTML中,链接是指通过在文本或图片上添加链接,使得用户可以通过点击该文本或图片来跳转到另一个网页或同一网页上的其他部分。HTML中使用<a>标签来实现链接功能,其中href属性用来指定链接的URL地址,例如: <a href="ht…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部