react中的全局样式与局部样式

王元肉==>个人主页

大家一起加油,我喜欢分专栏将知识打碎成一份一份小知识点,一篇文章只说一个知识点,因此每篇文章篇幅较短,希望大家不要介意。如有需要可以查看专栏看看是否有该文章中涉及到的知识点进行讲解的文章,如果大家觉得有帮助,希望大家三连支持一下。

推荐阅读

全局样式

App.js

import './App.css';
function App() {
  return (
    <ul>
      <li>app</li>
    </ul>
  );
}

export default App;

App.css

li {
    color: green;
}

在这里插入图片描述

当我们在App组件中引入另外一个组件,如下所示

Child.js

import React from 'react';
function Child() {
    return (
        <ul>
            <li>1</li>
            <li>2</li>
        </ul>
    );
}

export default Child;

在这里插入图片描述

我们发现,我们没有为Child组件的li添加样式,但是颜色也变成了绿色,受到了App组件中App.css中的样式的影响。

在这里插入图片描述

说明我们为App组件添加的样式是全局样式。会影响到其它组件的样式。

局部样式

使用xxx.module.css实现

修改App.css文件名为App.module.css;
将文件的内容修改为如下所示

App.module.css

.item {
    color: green;
}

App.js

import style from './App.module.css';
import Child from "./Child.js";
console.log(style); // 输出结果见下面图片所示
function App() {
  return (
    <>
    <ul>
      <li className={style.item}>app</li>
    </ul>
    <Child></Child>
    </>
  );
}

export default App;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Child.js

import React from 'react';
import style from "./Child.module.css";
console.log(style);
function Child() {
    return (
        <ul>
            <li className={style.item}>1</li>
            <li className={style.item}>2</li>
        </ul>
    );
}

export default Child;

Child.module.css

.item {
    color: red;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用sass,less等css预处理器

安装

npm i sass

使用

App.js

import Child from "./Child.js";
import style from './App.module.scss';
console.log(style);
function App() {
  return (
    <>
      <ul>
        <li className={style.item}>app</li>
      </ul>
      <Child></Child>
    </>
  );
}

export default App;

App.module.scss

ul {
    .item {
        color: green;
    }
}

Child.js

import React from 'react';
import style from "./Child.module.scss";
function Child() {
    return (
        <ul>
            <li className={style.item}>1</li>
            <li className={style.item}>2</li>
        </ul>
    );
}

export default Child;

Child.module.scss

ul {
    .item {
        color: red;
    }
}

在这里插入图片描述

缺陷

可以正常的识别类和id选择器,但是无法识别一些选择器,如标签选择器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结束啦!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LiuJie_Boom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值