# 定制属于你自己的样式
如果你不满足于主题提供的默认样式,VuePress 提供了一些简单的接口文件,可以让你能够很方便地定制你自己想要的效果。
# 修改主题颜色
你可以通过配置 .vuepress/styles/palette.styl
来快速修改主题的一些颜色属性。
// 默认值
$accentColor = #3eaf7c // 主题颜色
$textColor = #2c3e50 // 文本颜色
$borderColor = #eaecef // 边框线颜色
$codeBgColor = #282c34 // 代码块背景色
$backgroundColor = #ffffff // 悬浮块背景色
# 添加或修改主题样式
你可以创建一个 .vuepress/styles/index.styl
文件以方便地添加额外样式。这是一个 Stylus 文件,但你也可以使用正常的 CSS 语法。
.content {
font-size 30px
}
是否可以将颜色与样式写在同一个文件?
不可以将颜色与样式写在同一个文件中,VuePress 会先解析 palette.styl
中的全局变量,之后作用于主题的各个样式中,最后才解析 index.styl
,以覆盖主题默认的样式。
# 在 Head 中引用脚本与样式
你可以通过配置 .vuepress/config.js
中的 head
来引入脚本与样式,它将会被编译为 <head>
中的一项。
module.exports = {
head: [
["link", { rel: "stylesheet", href: "https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" }],
["script", { src: "scripts/demo.js" }]
]
}
比如上面的配置就会被解析为
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css">
<script src="scripts/demo.js"></script>
</head>
关于 head
的详细配置说明请参考官方文档 head 配置 (opens new window)
# 在单独页面中应用样式和脚本
有时,你可以只想在当前页面应用一些 JavaScript
或者 CSS
,在这种情况下,你可以直接在 Markdown
文件中使用原生的 <script>
或者 <style>
标签,它们将会从编译后的 HTML 文件中提取出来,并作为生成的 Vue 单文件组件的 <script>
和 <style>
标签。
输入
<p class="demo" :class="$style.example"></p>
<style module>
.example {
color: #41b883;
}
</style>
<script>
export default {
props: ['slot-key'],
mounted () {
document.querySelector(`.${this.$style.example}`)
.textContent = '这个块是被内联的脚本渲染的,样式也采用了内联样式。'
}
}
</script>
输出