react-13react中外部css引入以及style内联样式(动态className与动态style)

1. 外部css文件 - 普通引入

1.1 创建一个 CSS 文件,MyComponent.css。
css 复制代码
/* MyComponent.css */
.my-class {
  color: red;
  font-size: 20px;
}
1.2 组件中import引入
javascript 复制代码
import React from 'react';
import './MyComponent.css'; // 引入 CSS 文件

function MyComponent() {
  return (
    <div className="my-class">
      This is a div with a class name.
    </div>
  );
}

export default MyComponent;
1.3 动态className
javascript 复制代码
import React, { useState } from 'react';

function MyComponent() {
  const [isActive, setIsActive] = useState(false);

  return (
    <div 
      className={isActive ? 'active' : 'inactive'}
      onClick={() => setIsActive(!isActive)}
    >
      Click me to toggle class.
    </div>
  );
}

export default MyComponent;

2. 外部css文件 - CSS Modules引入

CSS Modules 是一种用于在 JavaScript 生态系统中使用 CSS 的方法,它通过模块化的方式避免 CSS 类名冲突。

2.1 创建一个 CSS Module 文件,MyComponent.module.css。
css 复制代码
/* MyComponent.module.css */
.myClass {
  color: red;
  font-size: 20px;
}
2.2 在组件中引入并使用 CSS Module
javascript 复制代码
import React from 'react';
import styles from './MyComponent.module.css'; // 引入 CSS Module 文件

function MyComponent() {
  return (
    <div className={styles.myClass}>
      This is a div with a CSS Module class name.
    </div>
  );
}

export default MyComponent;

3. style内联样式引入

3.1 style内联样式
javascript 复制代码
import React from 'react';

function MyComponent() {
  return (
    <div style={{ color: 'blue', fontSize: '20px' }}>
      This is a div with inline style.
    </div>
  );
}

export default MyComponent;
3.2 动态style

鼠标移入移出背景颜色的变化

javascript 复制代码
 state = {
    isHover: false
  }
  // 鼠标移入移出判断
  handleMouse = (isEnter) => {
    return () => {
      this.setState({ isHover: isEnter })
    }
  }

  render() {
    return (
      <div>
        {/* 判断鼠标移入移出 */}
        <li style={{ backgroundColor: this.state.isHover? '#f5f5f5' : '#fff' }}     
        onMouseEnter={this.handleMouse(true)} onMouseLeave={this.handleMouse(false)} >
      </div>
    )}
相关推荐
To_OC5 小时前
别再瞎写 React Router!7 个高频踩坑点一次性讲透
前端·javascript·react.js
岭南灯火7 小时前
前端通用交互式几何编辑器的开发经验
前端·设计模式·架构
岭南灯火7 小时前
前端通用交互式几何编辑器的设计法则 7 - 设计模式与原则
前端·设计模式·架构
岭南灯火7 小时前
前端通用交互式几何编辑器的设计法则 4 - 绘制、悬停与编辑
前端·设计模式·架构
岭南灯火8 小时前
前端通用交互式几何编辑器的设计法则 3 - 数据对象的设计
前端·javascript·架构
Jackson__8 小时前
从 LLM 到 Agent:一篇文章搞懂 AI 圈热词!
前端·agent·ai编程
岭南灯火8 小时前
前端通用交互式几何编辑器的设计法则 2 - 交互事件流
前端·javascript·架构
岭南灯火8 小时前
前端通用交互式几何编辑器的设计法则 6 - 配套设施与工程化
前端·设计模式·架构
岭南灯火8 小时前
前端通用交互式几何编辑器的设计法则 5 - 辅助元素的设计
前端·设计模式·架构
岭南灯火8 小时前
前端通用交互式几何编辑器的设计法则 1 - 入口的对象及其成员
前端·javascript·架构