我已经和VUE3建立了一个新项目.我开始使用一些包实现,但后来我意识到我用Component编写的CSS不适用于HTML语言.下面是一个非常简单的视图示例

<template>
  <div>
    <p class="asd">Hello</p>
  </div>
</template>

<style>
.asd {
  color: purple;
}
</style>

结果是,文本不是紫色的. 我已经判断了它是否被其他一些css覆盖,但没有,它不会在dev工具的样式屏幕中显示:

ss of the styles

我try 和判断的内容:

  • 我试过写作风格为"p.asd{..."最后再加!important分.没有变化.
  • 我已经通过将文本从"Hello"更改为"Hello World"来判断我是否在正确的页面上工作,但它发生了变化,所以我正在正确的页面上工作.
  • 如果是开发环境问题,我得到了一个产品版本,但不是,从构建的html中得到了相同的结果.
  • 我试着将css改为App.vue,令人惊讶的是,在那里编写的样式有效,但在视图中却不起作用.
  • 我已经try 了一个新的浏览器来解决缓存问题,没有变化.
  • 我已经try 添加作用域,没有变化.
  • 我已经try 添加脚本标签,没有变化.脚本标记运行良好,console.log脚本运行正常,但仍然没有样式更新.
  • 我试过内联css,它起作用了.

这是我的Package.json:

  "name": "new-project",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview",
    "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore",
    "format": "prettier --write src/"
  },
  "dependencies": {
    "express": "^4.18.2",
    "firebase": "^9.22.1",
    "pinia": "^2.0.36",
    "vue": "^3.3.2",
    "vue-router": "^4.2.0",
    "vue-tel-input": "^8.1.1"
  },
  "devDependencies": {
    "@rushstack/eslint-patch": "^1.2.0",
    "@vitejs/plugin-vue": "^4.2.3",
    "@vue/eslint-config-prettier": "^7.1.0",
    "eslint": "^8.39.0",
    "eslint-plugin-vue": "^9.11.0",
    "prettier": "^2.8.8",
    "vite": "^4.3.5",
    "vite-plugin-webfont-dl": "^3.7.4"
  }
}

Codesandbox示例:https://codesandbox.io/p/sandbox/github/ihsanser/vue-vite-style-bug/tree/master

我不知道我是否错过了一些非常简单的东西,但我现在几个小时都想不出原因.

推荐答案

.asd {中使用的空格字符不是实际的空格.这是一辆NBSP 102的车.

用一个实际的空间替换它,一切都会按预期进行.这与Vue无关,在Reaction、Angular、Svelte或Vanilla中的行为是相同的.

See it working.

As a side-note, this shows how important a runnable mcve is. In your question, you posted the code with a space. Not sure if this is due to the NBSP > Space conversion made by the browser when rendering the current page's HTML or if you simply didn't copy/paste the code in question.
I suspect it's the first.


102-编码NBSP输出%C2%A0,而编码正常空间输出%20

Vue.js相关问答推荐

如何将$validator实例注入到使用组合API语法的Vue2.7应用程序中

将 v-calendar 与以时间和日期格式出现的事件一起使用

如何在vue中获取特定类别的产品列表

在 VueJS 中为 Get、Post、Patch 配置全局标头的最佳方法

vue.js 在 App.vue 中获取路由名称

如何在 vuejs 自定义指令中传递动态参数

VueJS:为什么在input事件处理程序中触发Input输入事件?

VueJS 插件的如何react式绑定?

有条件地在 Vue 中添加一个 CSS 类

在 jest document.querySelector 中测试 vue 组件期间始终返回 null

Object.assign 没有正确复制

Vuetify 容器不会填充高度

Vuetify 单选按钮未显示为选中状态

在 Vue.js 中,为什么我们必须在导入组件后导出它们?

为什么我在 vue.js 中得到避免使用 JavaScript 一元运算符作为属性名称?

如何将项目推送到 Vuejs 中数据对象的数组中? Vue 似乎没有关注 .push() 方法

vue 3 使用 Vuex 和路由的服务器端渲染

模块构建失败:错误:没有给出解析器和文件路径,无法在 nuxtjs 中推断出解析器

vue组件中导入和使用three.js库

Vue-meta:metaInfo 无权访问计算(computed)属性