vue.js 在Markdown中使用vitepress时出现Tailwind类冲突

sycxhyv7  于 2023-05-23  发布在  Vue.js
关注(0)|答案(1)|浏览(328)

我使用vitepress来记录我们的应用程序。它读取markdown并在vue组件中呈现。不幸的是,似乎与顺风default类(在按钮组件上将所有边框设置为0)和我正在应用该类的button存在冲突。这个类可以很好地处理src文件夹中的组件,但不能处理vitepress。
我将它设置在root目录下的docs目录中:

不显示border的组件是MyButton.md

# MyButton

## Props

| Prop name | Description | Type    | Values | Default |
| --------- | ----------- | ------- | ------ | ------- |
| blub      |             | string  | -      |         |
| check     |             | boolean | -      |         |

## Events

| Event name | Properties | Description |
| ---------- | ---------- | ----------- |
| toggle     |            |

## Slots

| Name    | Description | Bindings |
| ------- | ----------- | -------- |
| default |             |          |

---

<button class="bg-orange-300 text-black border border-black rounded px-3 py-1.5 hover:bg-orange-400 transition">
  click me
</button>

```vue live
<MyButton blub="5" />

在`custom.css`中正确导入顺风:

@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
--vp-c-brand: #f44300;
--vp-c-green-dark: #ff8c00;
}

.VPDocOutlineDropdown {
display: none !important;
}


然后将其加载到`index.js`中:

import DefaultTheme from 'vitepress/theme'
import './custom.css'

export default DefaultTheme


并进一步用于扩展的默认主题中。
vitepress `config.ts`看起来像这样:

import { SiteConfig } from 'vitepress'
import { generateSidebarConfig } from "./generate-sidebar"

// https://vitepress.dev/reference/site-config
const config: SiteConfig = {
title: "blub",
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: 'Home', link: '/' },
{ text: 'Examples', link: '/markdown-examples' }
],
sidebar: generateSidebarConfig()
}
}

export default config


我试过将vitepress文件夹添加到`tailwind.config`,但没有帮助:

/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./src/App.vue',
'./src//*.js',
'./src/
/.vue',
'./docs/.vitepress/theme/
.vue',
'./docs/.vitepress/theme/*.js'
],
theme: {
extend: {},
},
plugins: [],
}


按钮显示为无边框:

![](https://i.stack.imgur.com/SfvY9.png)

开发工具显示`border`类正确应用于按钮,但与`button`选择器发生冲突:
![](https://i.stack.imgur.com/1K1c9.png)

当我将`button`更改为`div`时,边框应用正确。
我能做些什么来使border类在按钮元素上正确工作?
zzwlnbp8

zzwlnbp81#

如果你想让Tailwind类比VitePress中的默认类有更高的优先级,可以考虑在tailwind.config.js文件中添加important选项:

module.exports = { important: true}

参考顺风文档。

相关问题