当前位置: 首页 > 知识库问答 >
问题:

前端 - css里~和@是什么意思?

笪波鸿
2024-02-01

举例来说,react或vue项目里。CSS用到url的时候,~和@是什么用法。在哪里配置的,MDN里好像也没写这个。求一个完整的步骤

  background: center/cover url('~@/assets/login.png');

共有4个答案

钱繁
2024-02-01

@是设置的引用路径,不用../这样比较麻烦的方式,~是告诉webpack这是一个模块

另外css里的@是代表规则,~是相邻选择器

高才
2024-02-01

~css-loader 提供的
https://webpack.docschina.org/loaders/css-loader/
image.png

@ 一般是在 resolve.alias 中配的文件目录别名
https://webpack.docschina.org/configuration/resolve/#resolvea...
image.png

宁侯林
2024-02-01

Vue
jsconfig.jsontsconfig.json里面配置的:

{  "compilerOptions": {    "paths": {      "@/*": [        "src/*"      ]    },}}
吕作人
2024-02-01

在 CSS 中,~@ 本身并没有特定的意义。它们可能是在这个具体的例子中被用作路径简写或特定框架的语法。

在你给出的例子中,~@ 是路径的一部分。它们可能被解释为相对于当前文件的路径,类似于 Node.js 的文件路径解析。具体来说,~ 可能代表项目的根目录,而 @ 可能代表某个子目录(例如 src)。

这样的路径解析通常在前端框架(如 Vue 或 React)中用于模块的导入和配置。这样的路径简写使得代码更简洁,特别是当项目结构复杂时。

以下是一个可能的配置步骤:

  1. 安装必要的工具:首先,确保你已经安装了构建工具(如 Webpack 或 Vite)和相关的加载器(如 file-loader 或 url-loader)。
  2. 配置路径解析:在你的构建配置中,你需要设置路径解析规则,以便 ~@ 可以正确地解析为文件路径。例如,在 Webpack 中,你可以在配置文件中添加类似以下的规则:
resolve: {  alias: {    '@': path.resolve(__dirname, 'src') // 这将使 @ 指向项目的 src 目录  }}

对于 ~,如果你希望它指向项目的根目录,你可能需要在其他地方进行配置,或者简单地使用相对路径。

  1. 使用路径:一旦配置完成,你就可以在 CSS 或其他文件中使用这些简写路径了。在你的例子中,路径将被解析为相对于当前文件的 src/assets/login.png
  2. 加载资源:最后,确保你的构建工具知道如何处理这些资源。你可能需要配置加载器来处理这些文件,例如使用 file-loader 或 url-loader。

请注意,具体的步骤和语法可能会根据你使用的框架和工具有所不同。以上是一个基于常见前端工作流的概述。如果你能提供更多关于你所使用的特定框架或工具的信息,我可以提供更详细的指导。

 类似资料:
  • 这是我看到的代码: 请问一下: 1、[K in ts.SymbolFlags]? 这里的? 是什么意思呢? 2、[K in ts.SymbolFlags] 这里使用 [] 扩住的意思是什么呢?

  • 比如flex https://developer.mozilla.org/zh-CN/docs/Web/CSS/flex as each of the properties of the shorthand: flex-grow: 0 flex-shrink: 1 flex-basis: auto 直译是 作为简写的每个属性 但是我不理解什么意思 我大概知道什么意思,就是flex的初始值是flex

  • 什么是module css? 我们在学习React 的时候,经常看到module CSS的说法。 请问下我们自定义组件,将CSS文件放在index.tsx同级别目录下是否属于module CSS呢?

  • 问题内容: 什么是在这个CSS规则是什么意思? 问题答案: 是相邻的同级组合器。 这意味着选择只选择自带 之后 的。 插图: 选择了什么,没有选择什么: 选择 这个来之后第一。 未选择 这出现在第一后而不是在。由于它不会立即跟随,因此未选中。 但是,由于它仍然紧随元素之后,选择器不会立即匹配此元素,而是将使用通用的同级组合器来匹配该元素。 未选择 这位于内,并且在引号内没有满足其选择器的内容。

  • 问题内容: CSS是什么意思? CSS 2中可用吗?CSS 3? 在哪里支持?所有现代浏览器? 问题答案: 从本质上讲,它的意思是说。“这很重要,请忽略后续规则,以及所有常见的特异性问题,请应用 此 规则!” 在正常使用中,外部样式表中定义的规则被文档中定义的样式所取代,而样式本身又被元素本身内的内联样式所取代(假设选择器的特异性相同)。用“属性”(?)定义规则将放弃关于“后继”规则优先于“较早”

  • 问题内容: 有人可以解释这两个CSS选择器的区别吗? 上定义中的多余点是什么? 问题答案: 一个前缀通常代表一类选择,但如果它紧跟空格那么它是一个语法错误。 如果要冒昧地猜测一下,那么可能是作者想要说的,但是错过了Shift键,就像他正要键入字符(子组合器)一样。 您的第二个选择器,仅表示包含在名为的类的元素中的任何选择器。