react中样式冲突解决

本文介绍了CSSINJS,如何通过JavaScript编写的CSS来解决样式冲突,如React中的CSSModules和Vue的scoped。文章重点讲解了如何在React项目中使用CSSModules避免类名冲突,并提到当需要全局样式时的处理方法。
摘要由CSDN通过智能技术生成
  • CSS IN JS:是使用 JavaScript 编写 CSS 的统称,用来解决 CSS 样式冲突、覆盖等问题
    CSS IN JS 的具体实现有 50 多种,比如:React常用(CSS Modules、styled-components)、 Vue常用(<style scoped> 、css modules)等
    推荐使用:CSS Modules (React脚手架已集成,可直接使用)

  • 在React多人开发中 css中的类肯定会发生冲突
    • 如果每个页面的样式文件加上.module(文件名.module.scss)那么就会避免冲突(原理是将模块的类和id后面会随机生成一些字符串 防止避免冲突)
    • 我们如何获取到那个随机的类呢
      • 例如A页面 目录结构 a -> a.module.scss 在组件导入该样式后,会返回一个对象,这个对象关于对模块中的class类名处理后的类名

1. 文件名  .module.css    .module.scss    .module.less  方式命名 否则无法使用

2. 使用方法

import React from 'react'

import styles from './home.module.scss' //引入文件

export default function Home() {
    return (

        <div>

            <div className={`${styles.a}`}>home</div>

        </div>

    )

}

3!如果想类名设为全局 我们就不能对类名进行处理 我们需要再类名外面包裹一层:global

:global(.类名)

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值