自定义样式

Vssue 提供了编译好的 CSS 样式文件 vssue.css / vssue.min.css,你可以直接引入它们来使用默认样式。

或者,你可以自定义你的 Vssue 样式。

使用 Vssue 样式源文件

Vssue 的样式是通过 Stylus自定义样式 - 图1 编写的,源文件在 vssue/src/styles 目录。样式主文件是 vssue/src/styles/index.styl

你可以提取并修改它们,来自定义你的 Vssue 样式。

Markdown Body

我们的评论功能支持 Markdown 语法,所以我们需要给解析后的 Markdown 内容设置样式。

目前,Vssue 使用 github-markdown-css自定义样式 - 图2 作为 Markdown 样式。你可能注意到了所有的评论内容都被 class="markdown-body" 包裹着。

不过,github-markdown-css 的 CSS 文件没有在 Vssue 的 stylus 代码中引入,而是在构建时拼接到编译好的 CSS 文件后面。

因此,在你使用 Vssue 样式源文件的时候,记得引入 github-markdown-css,或者在 .markdown-body 下添加你的自定义样式。

使用样式变量来自定义 Vssue

Vssue 样式中预定义了一些 Stylus 变量自定义样式 - 图3,你可以在 vssue/src/styles/_variables.styl 中查看它们:

  1. // 主题颜色
  2. $vssue-theme-color
  3. // 文字颜色 (用于普通文字)
  4. $vssue-text-color
  5. // 浅色文字颜色 (用于备注等文字)
  6. $vssue-text-light-color
  7. // 边框颜色
  8. $vssue-border-color
  9. // 进度条颜色
  10. $vssue-progress-color
  11. // 文字大小
  12. $vssue-font-size
  13. // 字体
  14. $vssue-font-family
  15. // 切换为移动端模式的屏幕宽度
  16. $vssue-breakpoint-mobile
  17. // 文字方向 (ltr / rtl) (为 RTL 语言使用,如希伯来语等)
  18. $vssue-direction

举例来说,Vssue 默认使用一个“Vue 绿色”(#3eaf7c)作为主题颜色,并将其设置为 $vssue-theme-color 的默认值。你可以在引入 vssue/src/styles/index.styl 之前设置 $vssue-theme-color 的值来改变主题颜色。

下面是一个示例 Stylus 文件,展示了如何把主题颜色改成 red。假设你在使用 webpackstylus-loader,可以通过 ~ 来解析模块:

  1. // 先设置变量
  2. $vssue-theme-color = red
  3. // 引入 Vssue 的样式主文件和 github-markdown-css
  4. @import '~vssue/src/styles/index'
  5. @import '~github-markdown-css/github-markdown.css'

查看 Markdown Body 了解为何需要引入 github-markdown-css