VitePress 自定义 CSS 指南
VitePress 是一款基于 Vite 和 Vue 3 的静态网站生成器,专为文档编写而设计。尽管 VitePress 提供了丰富的默认主题,但在某些情况下,我们可能需要对其进行更深入的定制以满足特定的视觉需求。本文将详细介绍如何通过覆盖根级别的 CSS 变量来自定义 VitePress 的默认主题 CSS。
覆盖根级别的 CSS 变量
VitePress 的默认主题使用 CSS 变量来定义颜色、字体、阴影等样式属性。通过覆盖这些变量,我们可以轻松地调整整个站点的视觉风格。
步骤 1: 创建自定义 CSS 文件
首先,在你的 VitePress 项目中,创建一个自定义 CSS 文件。例如,在 .vitepress/theme 目录下创建一个名为 custom.css 的文件。
mkdir -p .vitepress/theme
touch .vitepress/theme/custom.css
步骤 2: 覆盖 CSS 变量
在 custom.css 文件中,你可以覆盖任何你希望改变的 CSS 变量。以下是一些示例:
/* .vitepress/theme/custom.css */
:root {--vp-c-brand-1: #646cff; /* 更改品牌主色调 */--vp-c-brand-2: #747bff; /* 更改品牌次色调 */--vp-c-text-1: #333; /* 更改主文字颜色 */--vp-c-bg: #f4f4f4; /* 更改背景颜色 */
}
步骤 3: 引入自定义 CSS 文件
接下来,你需要在自定义主题入口文件中引入这个 CSS 文件。如果你的项目结构遵循 VitePress 的默认布局,这个文件通常是 .vitepress/theme/index.js。
// .vitepress/theme/index.js
import DefaultTheme from 'vitepress/theme'
import './custom.css' // 引入自定义 CSSexport default DefaultTheme
步骤 4: 覆盖黑暗模式下的样式
如果你的站点支持黑暗模式,你还需要考虑在 .dark 类下覆盖相应的 CSS 变量。
/* .vitepress/theme/custom.css */
.dark {--vp-c-brand-1: #ff646c; /* 黑暗模式下的品牌主色调 */--vp-c-brand-2: #ff747b; /* 黑暗模式下的品牌次色调 */--vp-c-text-1: #eee; /* 黑暗模式下的主文字颜色 */--vp-c-bg: #333; /* 黑暗模式下的背景颜色 */
}
示例:完整 CSS 变量列表
VitePress 的默认主题使用了大量的 CSS 变量,涵盖了颜色、字体、阴影、布局等各个方面。以下是一个简化的 CSS 变量列表示例,展示了你可以覆盖的一些常见变量:
:root {--vp-c-brand-1: #646cff; /* 品牌主色调 */--vp-c-text-1: #333; /* 主文字颜色 */--vp-c-bg: #fff; /* 背景颜色 */--vp-font-family-base: 'Inter', sans-serif; /* 基础字体 */--vp-code-font-size: 0.875em; /* 代码字体大小 */--vp-code-block-bg: #f8f8f8; /* 代码块背景颜色 *//* 更多变量... */
}
结论
通过覆盖根级别的 CSS 变量,你可以轻松地自定义 VitePress 站点的视觉风格。这包括颜色、字体、阴影等多个方面,使你的文档网站更具个性和专业感。记得在自定义主题入口文件中引入你的 CSS 文件,并确保在黑暗模式下也进行适当的样式调整。希望这篇文章能帮助你更好地掌握 VitePress 的 CSS 定制技巧!
相关文章:
VitePress 自定义 CSS 指南
VitePress 是一款基于 Vite 和 Vue 3 的静态网站生成器,专为文档编写而设计。尽管 VitePress 提供了丰富的默认主题,但在某些情况下,我们可能需要对其进行更深入的定制以满足特定的视觉需求。本文将详细介绍如何通过覆盖根级别的 CSS 变量来自…...
【舍入,取整,取小数,取余数丨Excel 函数】
数学函数 1、Round函数 Roundup函数 Rounddown函数 取整:(Int /Trunc)其他舍入函数: 2、Mod函数用Mod函数提取小数用Mod函数 分奇偶通过身份证号码判断性别 1、Round函数 Roundup函数 Rounddown函数 Round(数字,保留几位小数)(四…...
无线信道中ph和ph^2的场景
使用 p h ph ph的情况: Rayleigh 分布的随机变量可以通过两个独立且相同分布的零均值、高斯分布的随机变量表示。设两个高斯随机变量为 X ∼ N ( 0 , σ 2 ) X \sim \mathcal{N}(0, \sigma^2) X∼N(0,σ2)和 Y ∼ N ( 0 , σ 2 ) Y \sim \mathcal{N}(0, \sigma^2)…...
HCIA--实验五:静态路由综合实验
静态路由综合实验 一、实验内容: 1.需求/目的: 在ensp模拟器中使用四个路由器,并且在路由器上创建loopback接口,相当于连接了一台主机,通过配置静态路由的方式实现全网通。 二、实验过程 1.道具: 4个…...
不同vlan之间的通信方法
1.通过路由器的物理接口 1.给PC1,PC2配置IP地址,网关2.进入交换机配置vlan,交换机所有口都配置access口并绑定vlan3.配置路由器,进入路由器的两个接口配置网关IP和掩码缺点:成本高,每增加一个vlan就需要一个物理端口和…...
java后端框架
框架就是对技术的封装。 本篇博客小博主首先对以后我们要学习的框架进行简单概述,使大家对框架有一定的基本概念。 一.mybatis mybatis就是对jdbc(数据库连接)进行封装,避免了jdbc中手动设置参数,手动映射结果的操作。…...
如何在Word中插入复选框
如何在Word中插入复选框:详细教程与技巧 在Word中插入复选框是一项非常实用的技巧,尤其是在制作问卷调查、待办事项清单、交互式表单或文档中需要用户进行选择时,复选框不仅能提高文档的功能性,还能显得更加专业。本文将详细讲解…...
Android 源码中jni项目 加载so目录小结
Android 源码中jni项目 加载so目录小结 文章目录 Android 源码中jni项目 加载so目录小结一、前言二、so目录验证测试1、jni so文件错误报错(1)报错1 - 未找到so文件:(2)报错2 - so文件中未找到native方法: …...
24/9/6算法笔记 kaggle 房屋价格
预测模型主要分为两大类: 回归模型:当你的目标变量是连续的数值时,你会使用回归模型进行预测。回归模型试图找到输入特征和连续输出之间的关联。一些常见的回归模型包括: 线性回归(Linear Regression)岭回归…...
【MA35D1】buildroot 编译使用经验
文章目录 芯片介绍Buildroot开发Linux实践环境搭建代码获取编译执行步骤(仅适用于我公司产品) 后续有需要更改的输出文件目录 芯片介绍 NuMicro MA35D1系列为一颗异核同构的多核心微处理器,适用于高端 Edge IIoT Gateway。它是基于双核 64 位…...
排查 MyBatis XML 配置中的 IF 语句与传值名称不匹配的 Bug
文章目录 本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得 前言,在改一个bug得时候发现一个有意思得问题,就是myb…...
数字证书与公钥基础设施
关注这个证书的其他相关笔记:NISP 一级 —— 考证笔记合集-CSDN博客 0x01:数字证书 数字证书是由第三方可信机构(一般是证书服务器)颁发的数字证书,可以证明身份的可信度。 数字证书具有以下特点以及性质:…...
拥抱数智化,JNPF低代码平台如何推动企业转型升级
随着信息技术的飞速发展,企业面临的市场竞争日益激烈,传统的业务流程和管理模式已经难以满足快速变化的市场需求。数智化转型成为企业持续发展的必由之路。在这一过程中,低代码开发平台扮演了至关重要的角色。本文将探讨JNPF低代码平台如何助…...
Linux shell脚本 (十二)case语句_linux awk case语句
case工作方式如上所示。取值后面必须为关键字 in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。;; 与其他语言中的 break 类似,意思是跳到整个 case 语句的最后。 取值将…...
【二等奖成品论文】2024年数学建模国赛B题25页成品论文+完整matlab代码、python代码等(后续会更新)
您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 【全网最全】2024年数学建模国赛B题31页完整建模过程25页成品论文matlab/python代码等(后续会更新「首先来看看目前已有的资料,还会…...
国内快速高效下载 HuggingFace上的各种大语言模型
预先安装: apt install aria2 # sudo apt install aria2apt install git-lfs # sudo apt install git-lfs下载hfd wget https://hf-mirror.com/hfd/hfd.shchmod ax hfd.sh设置环境变量 Linux export HF_ENDPOINThttps://hf-mirror.comWindows $env:HF_ENDPOINT…...
linux proxy 【linux 代理】
服务端 略 客户端 proxy_url"http://192.168.21.101:7890" export no_proxy"192.168.21.2,10.0.0.0/8,192.168.0.0/16,localhost,127.0.0.0/8,.coding.net,.tencentyun.com,.myqcloud.com" # proxy settings enable_proxy() {export http_proxy"${…...
AcWing907. 区间覆盖
参考的视频讲解:↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 【贪心算法08-区间问题03-区间覆盖】 每次贪心就是选择左端点里面<起始端点里面右边界最大的,这样就是保证了最少区间个数! 然后每次迭代都会更新一次起始端点st,反复运用本算法…...
Unity TMP (TextMeshPro) 更新中文字符集
TMP更新中文字符集 1 字符集缺失说明2 字体的字符表2.1 字符表更新模式:动态2.2 字符表更新模式:静态 3 更新字符集步骤3.1 打开纹理更新面板3.1 导入文本文件3.3 关于警告处理 4 修改TMP默认字体设置 1 字符集缺失说明 使用TMP显示中文需要用到中文字体…...
Leetcode3259. 超级饮料的最大强化能量
Every day a Leetcode 题目来源:3259. 超级饮料的最大强化能量 解法1:记忆化搜索 本题的状态定义 dfs(i,j)。其中 j0,1,分别表示最后选的是 energyDrinkA[i] 还是 energyDrinkB[i]。 为方便实现,把 energyDrinkA 和 energyDri…...
PyTorch 2.8镜像基础教程:NumPy/Pandas数据预处理与torch.Tensor转换要点
PyTorch 2.8镜像基础教程:NumPy/Pandas数据预处理与torch.Tensor转换要点 1. 环境准备与快速验证 在开始数据预处理之前,我们需要先确认PyTorch环境已经正确配置并能够使用GPU加速。这个预装PyTorch 2.8的镜像已经为我们准备好了所有必要的组件。 1.1…...
交换机接口全解析:从RJ-45到光纤,一文掌握所有连接技巧
1. 交换机接口基础:认识常见的物理接口类型 第一次拆开交换机包装时,面对密密麻麻的接口面板,新手常会感到无从下手。其实这些接口按照传输介质可分为两大阵营:电口和光口。电口就是我们熟悉的RJ-45接口,而光口则包含…...
Swin2SR在AR/VR中的应用:3D素材高清化处理
Swin2SR在AR/VR中的应用:3D素材高清化处理 1. 引言 在增强现实和虚拟现实的世界里,视觉体验就是一切。当你戴上AR眼镜或VR头盔,看到的每一个细节都直接影响着沉浸感的真实性。但现实往往很骨感——很多3D素材因为历史原因或技术限制&#x…...
剧本杀创作指南2025,解析,从零开始打造沉浸式推理体验
剧本杀创作指南2025,解析,从零开始打造沉浸式推理体验剧本杀作为一种新兴的娱乐方式,近年来在国内迅速崛起。随着市场需求的不断增长,越来越多的创作者开始尝试编写剧本杀剧本。本文将为你提供一份详尽的剧本杀创作指南࿰…...
终极指南:php-webdriver弹窗处理与WebDriverAlert对话框管理技巧
终极指南:php-webdriver弹窗处理与WebDriverAlert对话框管理技巧 【免费下载链接】php-webdriver PHP client for Selenium/WebDriver protocol. Previously facebook/php-webdriver 项目地址: https://gitcode.com/gh_mirrors/ph/php-webdriver 想要掌握PHP…...
2007 Text 1
2007 Text 1...
新手入门指南:基于快马生成代码学习注册表单开发与验证
新手入门指南:基于快马生成代码学习注册表单开发与验证 作为一个前端新手,我最近在学习如何开发一个完整的注册表单页面。正好用InsCode(快马)平台尝试实现了一个谷歌风格的账号注册页面,整个过程收获很大,下面分享我的学习心得。…...
无线工程师必备:用Wireshark解码802.11ac VHT Capabilities字段全攻略(含160MHz配置示例)
无线网络深度解析:802.11ac VHT Capabilities字段实战指南 在当代企业级无线网络部署中,802.11ac协议已成为高吞吐量应用的核心支撑。作为无线工程师,能否精准解读VHT(Very High Throughput)Capabilities信息元素&…...
探索MATLAB/Simulink下风光储电解制氢与氢燃料电池系统仿真模型
MATLAB/Simulink风光储电解制氢与用氢燃料电池系统仿真模型(风光伏耦合电解槽制氢和PEM燃料发电 附参考文献 电解槽和燃料电池都有水热管理模型 光储电解制氢模型,电解槽恒功率制氢,光伏风机耦合PEM制氢,电解槽与燃料电池…...
[具身智能-231]:OpenCV的库文件为啥是cv2, 而不是cv?
这是一个非常经典的问题!很多初学者在写代码时都会感到困惑:明明安装的是 opencv-python,为什么导入时却要写 import cv2?而且这个 "2" 到底代表 OpenCV 2 还是 OpenCV 3/4?简单直接的回答是:cv2…...
