美文网首页
react 中引入css的方式

react 中引入css的方式

作者: 云高风轻 | 来源:发表于2023-07-04 07:24 被阅读0次

1. 前言

  1. react 中 写css 比较麻烦,总结下有哪些

2. 普通的 CSS 文件引入:

  1. 在 React 组件中使用import语句引入外部的 CSS 文件,然后直接在 JSX 中应用类名或样式。
  2. 这种方式可以使用任何 CSS 预处理器(如 Sass、Less)。
  3. 样式在全局范围内生效,需要注意样式的命名冲突问题。

上 demo

// styles.css

.container {
  background-color: #f0f0f0;
  padding: 20px;
}

// Component.jsx

import React from 'react';
import './styles.css';

const Component = () => {
  return (
    <div className="container">
      <h1>Hello, World!</h1>
    </div>
  );
};

export default Component;


3. CSS 模块化:

  1. 使用 CSS 模块化可以将 CSS 文件与组件进行关联,使得每个组件的样式只在当前组件生效
  2. 使用 import 语句引入 CSS 模块文件,并通过对象的方式获取对应的类名或样式。
  3. 类名在编译时进行哈希处理,避免了全局命名冲突问题

上demo

// Component.module.css

.container {
  background-color: #f0f0f0;
  padding: 20px;
}

// Component.jsx

import React from 'react';
import styles from './Component.module.css';

const Component = () => {
  return (
    <div className={styles.container}>
      <h1>Hello, World!</h1>
    </div>
  );
};

export default Component;


4. CSS-in-JS:

  1. 使用 CSS-in-JS库(如 styled-components、Emotion)可以直接在组件中定义和应用样式。
  2. 样式以 JavaScript对象模板字符串的形式嵌入到组件中,可以使用 JavaScript 语法进行动态样式处理。
  3. 样式作用于具体的组件实例,避免了全局样式冲突的问题。

上 demo


import React from 'react';
import styled from 'styled-components';

const Container = styled.div`
  background-color: #f0f0f0;
  padding: 20px;
`;

const Component = () => {
  return (
    <Container>
      <h1>Hello, World!</h1>
    </Container>
  );
};

export default Component;


5. 区别 咱还是用 表格对比吧

普通 CSS 文件引入 CSS 模块化 CSS-in-JS
引入方式 使用 import 引入外部 CSS 文件 使用 import 引入 CSS 模块文件 使用相应的 CSS-in-JS 库
类名命名冲突问题 可能会发生全局命名冲突 通过哈希处理类名,避免全局命名冲突 不会发生命名冲突
样式作用范围 全局范围内生效 组件内部作用,避免全局影响 组件内部作用,避免全局影响
动态样式处理 需要在样式文件中使用预处理器或动态类名的技巧 无需特殊处理,直接在组件中应用动态样式 直接在组件中使用 JavaScript 语法进行动态样式处理
代码复用性 可以在多个组件中共用相同的 CSS 文件 样式与组件关联,可复用,但需要通过对象的方式获取样式类名 样式与组件关联,可复用,直接在组件中定义和应用样式
工具生态支持 支持各种 CSS 预处理器和构建工具 部分构建工具和框架对 CSS 模块化有内置支持 CSS-in-JS 库提供丰富的工具和特性支持
学习曲线 相对较低,使用常见的 CSS 语法 需要了解 CSS 模块化的基本概念和使用方式 需要学习相应的 CSS-in-JS 库的使用方式和语法


参考资料


初心

我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落的崛起;
共勉

相关文章

  • css in react

    在react设置css样式有两种方式,style和外部css引入 style 以{}包裹一个css对象 css引入...

  • React Native 样式表

    React Native中没有使用CSS来进行样式定义,因为CSS的引入全局设置的缺点。 React Native...

  • React - CSS 引入方式一

    1. 组件中引入 [name].css 文件 这种引入方式作用于当前组件和所有后代组件,也可以引入 sass 文件...

  • CSS基础与选择器

    一、CSS加载方式 外部样式表(推荐) 通过 在html中引入CSS: 通过@import引入样式,放入CSS中,...

  • CSS引入方式和优先级简单介绍

    css引入方式 内联方式, 内联方式指的是直接在 HTML 标签中的 style 属性中添加 CSS。 嵌入方式,...

  • css引入方式

      引入css,我把它分为在html文件中引入和在css文件中引入(网上大多称这种方式为导入)两种不同的方式。 一...

  • 2018-09-11

    CSS引入的方式有哪些? link和@import的区别是? 有 4 种方式可以在 HTML 中引入 CSS。 1...

  • css样式加载

    CSS 引入方式 有 4 种方式可以在 HTML 中引入 CSS。其中有 2 种方式是在 HTML 文件中直接添加...

  • css杂记

    css的引入方式 嵌入式,内联样式style标签、外部css文件link、在a.css样式中引入b.css的样式:...

  • css的引入和选择器

    1.css的引入方式 内联样式:将css样式通过style属性引入,作为style属性值的方式写在html标签中。...

网友评论

      本文标题:react 中引入css的方式

      本文链接:https://www.haomeiwen.com/subject/ufufudtx.html