简单介绍下 VitePress 中的 vp-doc 和 vp-raw

VitePress 是一个轻量级的静态网站生成器,专为快速构建文档网站而设计。它是基于 ViteVue 3 构建的,旨在提供快速的开发体验和高效的构建过程。

存在两个需要注意的点:vp-doc 和 vp-raw,它们代表了不同的 CSS 样式类和用途,涉及页面内容的呈现方式。

1. vp-doc 的含义与用法

1.1 含义

vp-doc 是 VitePress 用来构建文档页面时,应用于整个页面布局的一种 CSS 样式类。它是 VitePress 内部定义的一个类,作为页面的根容器元素,包含了文档的结构样式,确保文档内容的排版、间距、背景色等统一性。

1.2 用法

vp-doc 作为文档页面的根容器,包含了所有文档内容。它通常用于包裹整个文档站点的 HTML 结构。

通过对 vp-doc 类样式进行修改,可以自定义整个文档站点的布局和样式。

在 VitePress 中,vp-doc 是自动添加的,无需手动去创建这个类。它作为 VitePress 渲染文档的一个基础,控制页面的整体布局。

因此,当遇到自定义样式不生效时,需要考虑是否优先使用了 vp-doc 样式。

举个 🌰

当编写一个 table 组件时,展示为:

代码为:

import { defineComponent } from "vue";
import { ElButton, ElTable, ElTableColumn } from "element-plus";
import "./index.less";export default defineComponent({setup() {const tableData = [{ name: 'Sophia', age: 18, country: '美国' },{ name: 'William', age: 20, country: '新加坡' },{ name: 'Alice', age: 25, country: '中国' },{ name: 'Evelyn', age: 30, country: '法国' },{ name: 'Emma', age: 10, country: '俄罗斯' },];return () => (<div class="table-container"><ElTable data={tableData} style={{ width: '100%' }} border stripe><ElTableColumn prop="name" label="姓名" /><ElTableColumn prop="age" label="年龄" /><ElTableColumn prop="country" label="国家" /><ElTableColumn min-width="120" label="操作">{{default: () => (<div class="operation"><ElButton link type="primary" size="default">查看</ElButton><ElButton link type="primary" size="default">编辑</ElButton><ElButton link type="primary" size="default">删除</ElButton></div>)}}</ElTableColumn></ElTable></div>);}
});

问题来了:为什么表格展示有问题呢?

翻看一下元素就明白了,vp-doc 样式起作用,全部注释掉之后,就恢复为正常表格。

也就是给属性默认值:

.vp-doc table:not(:where(.vp-raw, .vp-raw *)) {border-collapse: initial;margin: 0 auto;display: table;
}

注意📢:这个样式的位置要考虑全面,避免影响到全局。 

正常展示为:

遇到其余类似情况,也是一样的处理。 

1.3 注意事项

vp-doc 是 VitePress 内部使用的一个类,通常不需要直接去修改它,除非需要全局定制样式。它是页面的主要结构,包含了 VitePress 的默认布局,除非有特殊的需求,通常不建议直接去删除或修改这个类的结构。

2. vp-raw 的含义与用法

2.1 含义

vp-raw 是 VitePress 中用于处理原始 HTML 或未经过解析的内容的一个特殊类。它允许用户在文档中插入原始 HTML 或其他不会被 VitePress 处理的内容。

2.2 用法

vp-raw 通常与 VitePress 渲染过程中需要“原生”呈现的内容结合使用。

举个 🌰

在 VitePress 中,使用普通 class 类名和 vp-raw 类名直接插入 HTML 代码块的区别。

普通 class

<div class="custom-html"><p>This content is implemented using a regular class name.</p>
</div>

vp-raw 类

<div class="vp-raw"><p>This content is implemented using the vp-raw class name.</p>
</div>

区别:二者的 p 元素样式是不同的。

2.3 意义

vp-raw 类的关键在于,它可以防止内容在渲染过程中被 VitePress 进一步解析,保留其原始形式。这样可以让开发者插入非 Markdown 或非 VitePress 处理的内容。

注意:尽量避免过度使用 vp-raw,因为直接插入 HTML 可能会破坏 VitePress 的一致性和文档结构。只有在必要时,才建议使用该类。

2.4 特别使用

当项目中不想使用额外的 vp-doc 的样式,也就是 VitePress 本身的样式文件,可以在目录:vitepress/vp-demo/index.vue 内部代码的最外层设置:

<div class="vp-raw">...
</div>

即可实现页面应用的都是自定义样式。

3. 额外补充一点「::: demo」

在 VitePress 中,::: demo 是一个非常有用的语法,它是 VitePress 中的一个自定义容器,用于创建一个可交互的代码演示区域。通过包裹代码块的方式,使得代码示例可以在页面上呈现出来。

也就是上述表格的展示方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/482719.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器数据恢复—服务器raid0阵列硬盘指示灯显示黄颜色的数据恢复案例

服务器数据恢复环境&故障情况&#xff1a; 某品牌服务器上有一组由两块SAS硬盘组建的raid0阵列&#xff0c;上层是windows server操作系统ntfs文件系统。服务器上一个硬盘指示灯显示黄颜色&#xff0c;该指示灯对应的硬盘离线&#xff0c;raid不可用。 服务器数据恢复过程…

普及组集训--图论最短路径

定义&#xff1a;表示顶点u到顶点v的一条边的权值&#xff08;边权&#xff09; 最短路径算法有常见的四种&#xff1a;floyd&#xff0c;dijkstra&#xff0c;Bellman-Ford&#xff0c;SPFA 不过Bellman-Ford并不常用&#xff0c;所以本文不提&#xff1b; 重点在于dijkstr…

Linux内核ftrace的使用

文章目录 ftrace使用一、ftrace的功能与用途二、ftrace的实现原理三、ftrace的使用步骤1. 查看tracer&#xff1a;通过查看available\_tracers文件&#xff0c;了解当前内核中可用的插件追踪器2. 选择tracer3. 设置参数和过滤器4.开启追踪5. 读取追踪结果 四、ftrace的常用trac…

【笔记总结】华为云:应用上云后的安全规划及设计

一、背景和问题 数字化时代&#xff0c;随着信息技术的飞速发展&#xff0c;企业和各类组织纷纷将自身的应用程序迁移至云端。云计算凭借其诸多优势&#xff0c;如成本效益、可扩展性、灵活性以及便捷的资源共享等&#xff0c;已然成为了现代业务运营的重要支撑。 今年&#xf…

LeetCode-430. 扁平化多级双向链表-题解

题目链接 430. 扁平化多级双向链表 - 力扣&#xff08;LeetCode&#xff09; 题目介绍 你将得到一个双链表&#xff0c;节点包含一个“下一个”指针、一个“前一个”指针和一个额外的“子指针”。这个子指针可能指向一个单独的双向链表&#xff0c;并且这些链表也包含类似的特殊…

MySQL 慢查询日志记录 SQL优化 性能优化 日志查询 Explain

介绍 慢查询日志记录了所有执行时间超过指定参数(long_query_time&#xff0c;单位:秒&#xff0c;默认10秒)的所有SQL语句的日志。MySQL的慢查询日志默认没有开启&#xff0c;需要在MySQL的配置文件(/etc/my.cnf)中配置针对这些慢查询的SQL语句进行优化。 #开启慢查询开关 s…

【RL Application】语义分割中的强化学习方法

&#x1f4e2;本篇文章是博主强化学习&#xff08;RL&#xff09;领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对相关等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅…

Elasticsearch 入门

Elasticsearch安装 下载软件 Elasticsearch 的官方地址:Elastic — 搜索 AI 公司 | Elastic Elasticsearch 最新的版本是 8.16.1(截止2024.11)&#xff0c;我们选择7.8.0版本。 下载地址&#xff1a;Elasticsearch 7.8.0 | Elastic Elasticsearch 分为Linux和 Windows版本&…

Pyside6-QTableView实战

使用效果 代码 import cv2 import osfrom ui.imageQuery import Ui_DialogImageQuery from utils.log_util import log_message from utils.sys_util import create_dirfrom PySide6.QtWidgets import QApplication, QDialog, QGraphicsPixmapItem, QGraphicsScene from PySid…

Redis开发03:常见的Redis命令

1.输入以下命令&#xff0c;启动redis。 sudo service redis-server start 如果你是直接安装在WSL的&#xff0c;搜索栏搜索Ubuntu或者点击左下角Windows图表找到U那一栏&#xff0c;直接打开Ubentu&#xff0c;输入账密后&#xff0c;输入“sudo service redis-server start”…

JAVA |日常开发中常见问题归纳讲解

JAVA &#xff5c;日常开发中常见问题归纳讲解 前言一、语法错误相关问题1.1 分号缺失或多余1.2 括号不匹配1.3 变量未定义或重复定义 二、数据类型相关问题2.1 数据类型不匹配2.2 整数溢出和浮点数精度问题 三、面向对象编程相关问题3.1 空指针异常&#xff08;NullPointerExc…

ubuntu的用户使用

ubuntu系统中的常规用户登录方式 在系统root用户是无法直接登录的,因为root用户的权限过大所以其安全性比较差 在登录系统时一般使用在安装系统时建立的普通用户登录 如果需要超级用户权限: Ubuntu用户密码破解 在系统安装完成后默认grub启动等待时间为0&#xff0c;建议改…

初始Python篇(6)—— 字符串

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a; Python 目录 字符串的常见操作 格式化字符串 占位符 f-string 字符串的 format 方法 字符串的编码与解码 与数据验证相关的方法 …

38 基于单片机的宠物喂食(ESP8266、红外、电机)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52单片机&#xff0c;采用L298N驱动连接P2.3和P2.4口进行电机驱动&#xff0c; 然后串口连接P3.0和P3.1模拟ESP8266&#xff0c; 红外传感器连接ADC0832数模转换器连接单片机的P1.0~P1.…

GEE Landsat 8 可见光影像校正后下载

在遥感影像处理领域&#xff0c;Landsat 8 数据因其 30 米空间分辨率 和 多光谱波段 被广泛应用。处理这些数据时&#xff0c;研究者常常需要对数据进行裁剪、计算指数、图像增强等操作&#xff0c;以满足特定研究需求。 本文将介绍一个 Python 自动化脚本&#xff0c;使用 Goo…

Matlab Simulink HDL Coder开发流程(一)— 创建HDL兼容的Simulink模型

创建HDL兼容的Simulink模型 一、使用Balnk DUT模板二、从HDL Coder库中选择模块三、为DUT开发算法/功能四、为设计创建Testbench五、仿真验证设计功能六、Simulink模型生成HDL代码 这个例子说明了如何创建一个用于生成HDL代码的Simulink模型。要创建兼容HDL代码生成的MATLAB算法…

如何通过 JWT 来解决登录认证问题

1. 问题引入 在登录功能的实现中 传统思路&#xff1a; 登录页面时把用户名和密码提交给服务器服务器验证用户名和密码&#xff0c;并把检验结果返回给后端如果密码正确&#xff0c;则在服务器端创建 session&#xff0c;通过 cookie 把 session id 返回给浏览器 但是正常情…

像素流送api ue多人访问需要什么显卡服务器

关于像素流送UE推流&#xff0c;在之前的文章里其实小芹和大家聊过很多&#xff0c;不过今天偶然搜索发现还是有很多小伙伴&#xff0c;在搜索像素流送相关的问题&#xff0c;搜索引擎给的提示有这些。当然这些都是比较短的词汇&#xff0c;可能每个人真正遇到的问题和想获取的…

Uniad复现学习

在优云平台部署训练&#xff0c;加速训练。 关于UCloud(优刻得)旗下的compshare算力共享平台 UCloud(优刻得)是中国知名的中立云计算服务商&#xff0c;科创板上市&#xff0c;中国云计算第一股。 UCloud&#xff08;优刻得&#xff09;旗下的Compshare算力共享平台具有以下优点…

域名解析系统 DNS

1.域名系统概述 用户与互联网上某台主机通信时&#xff0c;必须要知道对方的IP地址。然而用户很难记住长达32 位的二进制主机地址。即使是点分十进制地址也并不太容易记忆。但在应用层为了便于用户记忆各种网络应用&#xff0c;连接在互联网上的主机不仅有P地址&#xff0c;而…