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

前端 - 是否有这样的一套标准,已经定义好了这些CSS原子化常量(eg. `.p-2`, `.text-red`)在写代码的时候直接使用即可?

公孙国兴
2024-09-03

我们知道CSS原子化的优势有:
1、最小化的样式单元
原子化 CSS 中的每个类代表一个极其具体的样式属性组合。
比如: .p-2 代表 padding: 0.5rem
.text-red 代表 color: red

2、高度可组合性
通过组合多个原子类,可以快速构建出复杂的样式。
<div class="p-2 text-red bg-blue"> 将同时应用 padding、红色文本和蓝色背景三种样式。

是否有这样的一套标准,已经定义好了这些常量(eg. .p-2, .text-red)在写代码的时候直接使用即可?
我们在哪里可以找到这套标准呢?

共有3个答案

巫新知
2024-09-03

目前主流的还是 tailwindcss 把,现在 现在uncoss和tailwindcss 性能上整体上相差不大,社区里tailwindcss 还是相对较多的,可以优先选择。

一般就直接可以在 classnamne 上写, 如下

  <span
    class='bg-indigo-600 font-blod text-white dark:bg-indigo-900 dark:text-white shadow text-sm w-fit px-2 py-1 md:px-5 md:py-2 rounded-full'
  >
    tailwind
  </span>

刚开始可能记不住,可以在官网里搜你想用的,会匹配到对应的文档
image.png ,多用几次就记住了,然后就是舒服的工作流。

呼延运恒
2024-09-03
  • tailwindcss
  • windicss
  • unocss

选一个自己喜欢的吧。

周翰
2024-09-03

是的,存在这样的一套标准或约定,它们被称为 CSS-in-JS 库中的实用工具类(Utility Classes)或者原子化 CSS 框架,如 Tailwind CSS、Tachyons、Windi CSS 等。

这些框架或库提供了一套预定义的类名,允许开发者直接在 HTML 元素中使用这些类名来应用样式,无需编写额外的 CSS 规则。例如,在 Tailwind CSS 中,.p-2 确实代表了一定的内边距(padding),而 .text-red 代表文本颜色为红色。这些类名通常是高度可配置和可扩展的,允许开发者根据项目需求自定义样式值。

你可以通过以下方式找到和使用这些标准

  1. 访问官方网站或文档

    • Tailwind CSS: https://tailwindcss.com/
    • Tachyons: https://tachyons.io/
    • Windi CSS: https://windicss.org/
  2. 安装和配置
    根据你所选择的框架或库的文档,进行安装和配置。这通常涉及到在你的项目中添加相应的 npm 包,并在你的构建工具(如 Webpack、Vite)中配置对应的插件或加载器。
  3. 使用
    在你的 HTML 或 JSX 文件中,直接使用这些预定义的类名。由于这些类名通常非常具体且易于理解,因此它们可以显著提高你的开发效率和代码的可读性。

注意:虽然原子化 CSS 提供了许多便利,但过度使用可能会导致 HTML 元素的类名变得冗长和难以管理。因此,在使用这些框架时,建议保持适度,并根据项目需求进行选择和配置。

 类似资料:
  • 我看到有一个Type这样定义: 然后我鼠标移动到: Timestamp上面,显示的是: 然后我移动到:getTime,显示的也是: 请问下,如果:type Timestamp = number, 为何不直接这样定义,而要使用:

  • 比如定义了一个变量 --text-color:red,能否则直接使用类名color-[--text-color]或者类似的其他能直接用变量名的写法

  • 问题内容: 我有以下HTML 以及以下样式: 由于某种原因,我不了解该样式已应用于 “子内容1” 和 “标题” 。 我认为样式上的选择器仅适用于div的第一个直接子类,该子类具有“ section”类。如何更改选择器以获得我想要的? 问题答案: 您所发布的字面意思是“查找分区div内且是其父级的第一个孩子的所有div。” 该子项包含一个与该描述匹配的标签。 我不清楚您是否要同时兼任主要div的两个

  • 我在自己 Windows中的typescript项目中使用ts-node: 项目目录如下: package.json src/main.ts 当我运行时候:npm run dev 报错如下: 请问这个是什么问题呢?

  • 下面是一些C代码: 我得到以下输出: a(3,5) f(9.5) ~A() 一、 因为我希望它能起作用。但我不确定在<code>f</code>返回后是否必须调用<code>A</code>的析构函数。有保证吗?返回的指针在调用,是否会以某种方式变得无效?

  • 试图量化神经网络。我在tenorflow repo目录中运行了以下命令 并得到错误: 错误:跳过“tensorflow/tools/quantization/tools:Quantizaze_graph”:没有这样的包“tensorflow/tools/quantization/tools”:在包路径上找不到生成文件警告:目标模式解析失败。错误:没有这样的包“tensorflow/tools/qu