当前位置: 首页 > backend >正文

React学习———CSS Modules(样式模块化)

CSS Modules

CSS Modules(样式模块化)是一种用于模块化和局部作用域化CSS样式的技术,让CSS只在当前组件内生效,避免全局样式冲突的技术方案

工作原理

  • 文件命名:通常以.module.css.module.less.module.scss等结尾:例如:index.module.less
  • 局部作用域CSS Modules通过为类名生成唯一的哈希值,确保样式不会与其他模块的样式冲突
/* index.module.less */
.root {background: #fff;
}

每个样式类名在编译时会被自动生成一个独一无二的哈希后缀,编译后的类名可能变成root__3k2jf_1只在当前组件内生效

  • 模块化导入:在JavaScriptTypeScript中,可以直接导入CSS Modules文件,并通过对象的形式访问类名
  • 支持组合CSS Modules允许通过composes关键字组合多个类名,实现样式的复用
.base{padding: 10px;
}
.button{composes: base;background-color: blue;
}
  • 与构建工具集成CSS Modules通常与 WebpackVite等构建工具结合使用,通过配置启用模块化功能,例如,在Webpack中可以通过css-loadermodules选项启用CSS Modules

典型用法

// Button.modules.css

.button {background-color: #007bff;color: white;padding: 10px 20px;border: none;border-radius: 5px;
}.button:hover {background-color: #0056b3;
}

// React 组件中

import React from 'react'
import styles from './Button.modules.css'const Button = () => {<button className={styles.button}>点击</button>
}
export default Button 

全局样式

  • :global:是CSS Modules(样式模块化)的一个特殊语法,用于声明全局样式。
.root {...:global {.logo-wrap { ... }}
}

1、.root依然是局部样式,只在当前组件生效
2、:global里的.logo-wrap这个类名会直接变成全局类名,不会被哈希处理,任何地方都能使用

http://www.xdnf.cn/news/6582.html

相关文章:

  • Go语言处理HTTP下载中EOFFailed
  • Spring WebFlux与Quarkus实战:云原生微服务开发的两大主流框架深度解析
  • STM32CubeMX使用SG90舵机角度0-180°
  • Rust 学习笔记:关于 String 的练习题
  • python中集合的操作
  • MySQL 与 FastAPI 交互教程
  • 在 Ubuntu 系统中,将 JAR 包安装为服务
  • LongRefiner:解决长文档检索增强生成的新思路
  • Redis + ABP vNext 构建分布式高可用缓存架构
  • IntelliJ IDEA克隆项目失败的解决方法
  • Tomcat发布websocket
  • 笔试强训:Day5
  • FPGA: UltraScale+ bitslip实现(方案+代码)
  • 【递归、搜索和回溯】穷举vs暴搜vs深搜vs回溯vs剪枝
  • 【向量模型 + HNSW 参数如何选择】
  • 用栈实现+-*/计算器
  • GPU八卡A100使用INT4-W4A16量化大模型实验
  • Manus AI 原理深度解析第三篇:Tools
  • 什么是DHCP?
  • JavaScript零基础入门笔记:狂神版
  • C# Try Catch Finally 执行顺序是什么?有返回值呢?
  • Openlayers:如何注册一个新的坐标系统
  • web第二次课后作业--设计一个注册登录系统
  • MyBatis:从入门到深度理解
  • 从入门到实战:时序图核心知识与高效绘制全解析(附模板)
  • 如何利用芯片模型提升终端PCB的SIPI热仿真精度
  • 如何让open-mpi在不同版本的OS上运行
  • shell常用语法
  • 晶振的核心参数
  • 会计要素+借贷分录+会计科目+账户,几个银行会计的重要概念