【记录】CSS|Tailwind 的主题定义的颜色的使用方法(--color啥的)

news2024/11/13 9:44:36

文章目录

  • 【记录】CSS|Tailwind 的主题定义的颜色的使用方法(--color 啥的)
    • 省流版
    • GPT 详细解释版
      • Tailwind CSS 配置文件示例
      • 使用自定义颜色
      • 定义 CSS 变量
      • 总结
    • 附赠个 Tips

【记录】CSS|Tailwind 的主题定义的颜色的使用方法(–color 啥的)

参考:

  1. Customizing Colors - Tailwind CSS
  2. 主要参考的是 GPT 的说辞。

省流版

总之就是,theme: extend: 里能定义一些什么东西,然后某某 Color后面可以加多层字典{}。

最后用的时候就是:某某-字典 key-字典 key。

例如 tailwind.config.js 文件里:

theme: {
    screens: {
      sm: "640px",
    },
    extend: {
      textColor: {
        skin: {
          base: withOpacity("--color-text-base"),
          accent: withOpacity("--color-accent"),
          inverted: withOpacity("--color-fill"),
        },
      },
    },
  },

用的时候就className="text-skin-base"

f12 去看就这样:

在这里插入图片描述

GPT 详细解释版

在你的 Tailwind CSS 配置文件中定义了自定义颜色之后,你可以在实际的代码中通过类名来使用这些颜色。以下是如何在代码中调用这些颜色的示例,以及如何确保你定义的颜色正确地处理透明度。

Tailwind CSS 配置文件示例

假设你的 tailwind.config.js 文件如下所示:

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"],
  theme: {
    screens: {
      sm: "640px",
    },
    extend: {
      textColor: {
        skin: {
          base: withOpacity("--color-text-base"),
          accent: withOpacity("--color-accent"),
          inverted: withOpacity("--color-fill"),
        },
      },
    },
  },
  plugins: [],
};

function withOpacity(variableName) {
  return ({ opacityValue }) => {
    if (opacityValue !== undefined) {
      return `rgba(var(${variableName}), ${opacityValue})`;
    }
    return `rgb(var(${variableName}))`;
  };
}

使用自定义颜色

在你的组件中,你可以通过 Tailwind CSS 类名来应用这些自定义颜色。例如,在一个 React 组件中:

import React from 'react';

const MyComponent = () => {
  return (
    <div className="p-4">
      <h1 className="text-skin-base">This is a base text color</h1>
      <p className="text-skin-accent">This is an accent text color</p>
      <button className="text-skin-inverted bg-black px-4 py-2">
        Inverted text on black background
      </button>
    </div>
  );
};

export default MyComponent;

在这个示例中:

  • text-skin-base 将应用你定义的 --color-text-base 颜色。
  • text-skin-accent 将应用你定义的 --color-accent 颜色。
  • text-skin-inverted 将应用你定义的 --color-fill 颜色。

定义 CSS 变量

为了让这些自定义颜色起作用,你需要在 CSS 中定义相应的 CSS 变量。例如,在你的全局 CSS 文件中:

:root {
  --color-text-base: 34, 34, 34; /* 黑色,格式为 r, g, b */
  --color-accent: 255, 99, 71; /* 番茄色,格式为 r, g, b */
  --color-fill: 255, 255, 255; /* 白色,格式为 r, g, b */
}

这样,你的颜色变量就会被解析并在 Tailwind CSS 类中使用。如果你需要支持透明度,可以使用 Tailwind CSS 的 withOpacity 函数,如上面配置文件中的定义。

总结

  1. tailwind.config.js 文件中定义自定义颜色。
  2. 在组件中使用 Tailwind CSS 类名来应用这些颜色。
  3. 在 CSS 文件中定义对应的 CSS 变量。

通过这种方式,你可以在项目中灵活地使用 Tailwind CSS 自定义颜色。

附赠个 Tips

jsx 语法中的 css 属性要用驼峰命名,
例如 max-width 要写成 style={{maxWidth: "100%"}}

在 JSX 语法中,CSS 属性需要使用驼峰式命名。例如,max-width 应写成 style={{maxWidth: "100%"}}

本账号所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_46106285/article/details/140363296。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1919365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python】已解决:ModuleNotFoundError: No module named ‘sklearn.cross_validation

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 &#xff08;机器学习分割数据问题&#xff09;解决“ModuleNotFoundError: No module named ‘sklearn.cross_validation’” 一、问题背景 在机器学习的实践中&#xff0c;数据分割是…

聚鼎装饰画:现在做装饰画能不能相信

在艺术的殿堂中&#xff0c;装饰画以其多变的风格和独特的魅力占据了一席之地。它们或清新淡雅&#xff0c;或浓烈奔放&#xff0c;总能为现代家居带来一丝生气与美感。然而&#xff0c;在这美丽的背后&#xff0c;却隐藏着一个令人困惑的问题&#xff1a;现在做装饰画&#xf…

[EasilyOpenJCL] 使用 Java 调用显卡 计算 和Java调用 CPU 进行计算 的基准测试!

设备环境介绍 easily-openJCL 是一个轻量级的 Java 语言下的 GPU 显卡 计算库&#xff0c;它提供了一套简单易用的 API&#xff0c;让用户能够轻松实现 GPU 计算操作。 通过 Java 调用 GPU 计算的一个库&#xff0c;使用非常简单的API就可以轻松应付 Java 数据类型在 GPU 中的…

程序使用多进程,打包.exe后,程序陷入死循环

最近写了一个深度学习程序&#xff0c;用cxfreezee打包exe后&#xff0c;在本地运行突然出现死循环&#xff0c;明明在pycharm运行一切正常。 排查了问题&#xff0c;怀疑是多进程的原因&#xff0c;解决办法&#xff1a; 在你的主程序前添加一行代码&#xff1a; if __name_…

Typescript 模块小知识-global scope

问题表现 在编写ts代码的时候遇到一个问题, 表现为, 如果在某个ts工程中, 如果多个文件里面没有任何导出export或者是export default, 那么这些文件如果有const或者是let定义相同的声明都会报错如下 无法重新声明块范围变量 a/a.ts 和 index.ts 和 index2.ts 都没有进行expor…

C++系列-Vector(一)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” Vector的介绍及使用 Vector的介绍 当vector构建的参数类型为char类型时&#xff0c;它是和string是极其类似的&#xff0c;但是二者之间也有不同&#xff0c;比如&#xff0c…

人工智能时代,零基础学IT,我首推Python作为你编程入门语言!

人工智能时代为什么将 Python 称为第一语言&#xff1f; 因为python适应了人工智能时代&#xff1a; 人工智能时代对于代码的简便性有很大要求&#xff0c;像传统的C/CPP/Java学习较为复杂&#xff0c;学习路线长&#xff0c;对于很多零基础的人入门困难。python的兼容性&…

24下软考高级-系统架构设计师100条知识点速记!

11月系统架构设计师现在准备真的太早了吗&#xff1f; 不不不~对于0基础和打工人&#xff0c;留给我们备考的时间其实已经不多了&#xff01; 想开始不晓得从哪里开始&#xff1f;这里给大家整理了24下系统架构设计师知识点100条&#xff0c;符合最新版教材和考试大纲&#x…

Python实现动态迷宫生成:自动生成迷宫的动画

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame定义迷宫生成类主循环 完整代码 引言 迷宫生成算法在游戏开发和图形学中有着广泛的应用。它不仅可以用于创建迷宫游戏&#xff0c;还可以用于生成有趣的图案。在这篇博客中&#xff0c;我们将使用Python…

目前哪些充电宝是最强?曝光几款好用的充电宝排行榜

充电宝在我们的日常生活中能为我们带来无与伦比的便捷与体验。然而&#xff0c;当充电宝市场品牌和型号众多&#xff0c;功能丰富多样&#xff0c;口碑最佳的充电宝究竟有哪些&#xff1f;怎样才能挑选到口碑上佳、契合个人需求的充电宝&#xff0c;这已然成为消费者面临的难题…

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【HMAC(C/C++)】

HMAC(C/C) HMAC是密钥相关的哈希运算消息认证码&#xff08;Hash-based Message Authentication Code&#xff09;&#xff0c;是一种基于Hash函数和密钥进行消息认证的方法。 在CMake脚本中链接相关动态库 target_link_libraries(entry PUBLIC libhuks_ndk.z.so)开发步骤 生…

基于Python/MATLAB长时间序列遥感数据处理及在全球变化、植被物候提取、植被变绿与生态系统固碳分析、生物量估算与趋势分析应用

植被是陆地生态系统中最重要的组分之一&#xff0c;也是对气候变化最敏感的组分&#xff0c;其在全球变化过程中起着重要作用&#xff0c;能够指示自然环境中的大气、水、土壤等成分的变化&#xff0c;其年际和季节性变化可以作为地球气候变化的重要指标。此外&#xff0c;由于…

大模型【Qwen2-7B本地部署(WEB版)】(windows)

大模型系列文章目录 Qwen2-7B本地部署&#xff08;WEB版&#xff09; 前言 大模型是截止2024年上半年最强的AI&#xff0c;Qwen2是刚出来的号称国内最强开源大模型。这是大模型系列的第一篇文章&#xff0c;旨在快速部署看看最近出来的大模型效果怎么样&#xff0c;效果ok的话…

Nature Communications|柔性无感智能隐形眼镜(柔性传感/可穿戴电子/柔性电子)

南京大学徐飞(Fei Xu)、陆延青(Yanqing Lu)、陈烨(Ye Chen)和江苏省人民医院袁松涛(Songtao Yuan)团队,在《Nature Communications》上发布了一篇题为“Frequency-encoded eye tracking smart contact lens for human–machine interaction”的论文。论文内容如下: 一、 摘…

【Pytorch】Conda环境pack打包迁移报错处理

文章目录 Anaconda虚拟环境打包一、源电脑的环境打包1.安装conda-pack工具2.确定环境3.打包环境4.将打包环境拷贝到U盘 二、环境迁移到目标电脑上三、异常处理pip install -e. 导致无法pack→忽略管理的文件已经被删除或者被覆盖→压缩成tar注意 重新激活环境 Anaconda虚拟环境…

Dify中的知识库API列表

1.知识库API列表 通过文本/文件创建/更新/删除文档/查询文档嵌入状态&#xff0c;知识库创建/知识库查询/文档列表查询&#xff0c;分段增/删/改/查。 接口名字功能描述请求示例POST/datasets/{dataset_id}/document/create_by_text通过文本创建文档此接口基于已存在知识库&a…

法律咨询援助网站

1 项目介绍 1.1 摘要 随着互联网技术的飞速发展&#xff0c;公众对于便捷、高效的法律咨询服务需求日益增长。传统的法律咨询方式已难以满足人们即时性、多样化的咨询需求&#xff0c;促使法律咨询援助网站应运而生。这些平台旨在通过数字化手段&#xff0c;为用户提供法律知…

Python基础教学之二:核心篇——数据结构与流程控制

Python基础教学之二&#xff1a;核心篇——数据结构与流程控制 一、深入理解数据类型 1. 字符串、数字和布尔类型 字符串操作&#xff1a;Python中的字符串可以通过多种内置方法和格式化工具进行操作。例如使用str.format()方法来格式化字符串&#xff0c;或者通过str.join()…

冒泡排序与其C语言通用连续类型排序代码

冒泡排序与其C语言通用连续类型排序代码 冒泡排序冒泡排序为交换排序的一种&#xff1a;动图展示&#xff1a;冒泡排序的特性总结&#xff1a;冒泡排序排整型数据参考代码&#xff08;VS2022C语言环境&#xff09;&#xff1a; 冒泡排序C语言通用连续类型排序代码对比较的方式更…

GD32F303RET6读取SGM58031电压值

1、SGM58031芯片详解 &#xff08;1&#xff09;SGM58031是一款低功耗&#xff0c;16位精度&#xff0c;delta-sigma (ΔΣ)模数转换器(ADC)。它从3V到5.5V供电。 &#xff08;2&#xff09;SGM58031包含一个片上参考和振荡器。它有一个I2C兼容接口&#xff0c;可以选择四个I2…