react项目中如何书写css

一:问题:

在 vue 项目中,我们书写css的方式很简单,就是在 .vue文件中写style标签,然后加上scope属性,就可以隔离当前组件的样式,但是在react中,是没有这个东西的,如果直接引入css文件,很可能会导致样式覆盖的问题。

二:常见书写css方法:

1.直接引入css文件

可以创建一个普通的 .css 文件并在组件中导入它。这是最传统和简单的方法。但是这种很容易出现样式覆盖的问题,所以可以加一些特殊的标识之类的做区分:
css文件:

.login-example {
    color: blue;
    font-size: 20px;
}

jsx文件:

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

const MyComponent = () => (
    <div className="login-example">
        Hello, world!
    </div>
);

export default MyComponent;

给每个页面加一个特殊的名称,适用于页面不多的情况。

2.行内样式:

在 React 中,也可以使用内联样式:

import React from 'react';

const MyComponent = () => (
    <div style={{ color: 'blue', fontSize: '20px' }}>
        Hello, world!
    </div>
);

export default MyComponent;

直接书写行内样式,通常只用于一些很简单的样式,或者需要动态计算样式的情况;通篇使用内联样式是不可取的。

3.CSS Modules

CSS Modules 可以将 CSS 作用域限制在单个组件内,避免全局污染。
步骤:

(1). 创建一个 CSS Module 文件,文件名格式为 *.module.css,例如 styles.module.css:

.example {
   color: blue;
   font-size: 20px;
}

(2). 在 React 组件中导入这个 CSS Module 文件:

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

const MyComponent = () => (
    <div className={styles.example}>
        Hello, world!
    </div>
);

export default MyComponent;

效果如下:
在这里插入图片描述
可以看到,这里的div的class给了哈希值,就避免了全局污染。

4. 第三方插件

也有许多第三方插件可以供我们使用,像 Styled Components,下面是styled components的用法:

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

const Example = styled.div`
    color: blue;
    font-size: 20px;
`;

const MyComponent = () => (
    <Example>
        Hello, world!
    </Example>
);

export default MyComponent;

以上就是常用的在react中书写css的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/739038.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iMac 数据怎么恢复:iMac 数据恢复的 4 个方法

想象一下&#xff0c;当你发现你的重要文件或回忆从你的 iMac 中删除时&#xff0c;那是多么可怕。无论是由于意外删除、硬件问题还是程序问题&#xff0c;恐慌都是真实的。它就像是数字荒野中的生命线。 本指南将为您提供所需的信息和工具&#xff0c;帮助您渡过数据丢失的危…

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全&#xff1f;如何个性化邮件推送内容&#xff1f; Steam作为全球最大的数字游戏分发平台之一&#xff0c;不仅提供了海量的游戏资源&#xff0c;还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主…

磁芯电感 晶谷电容可镀银浆用玻璃 晶谷电阻银浆料低温玻璃粉(耐强酸)

晶谷电阻银浆料低温玻璃粉&#xff08;耐强酸&#xff09;软化点在490至580度之间&#xff0c;线膨胀系数为&#xff08;75至95&#xff09;10-7&#xff0c;粒径为1.5至3微米&#xff08;可按要求订做&#xff09;&#xff0c;外观颜色为白色超细粉末&#xff0c;烧后颜色无色…

SAP 预制凭证相关小结(搜集于网络)

SAP 预制凭证相关小结&#xff08;搜集于网络&#xff09; 1. 预制凭证会生成凭证编号 2. 预制凭证不更新科目余额 3. 预制凭证会占FM预算 4. 预制凭证可以随意更改 5. 预制凭证可以删除&#xff0c;删除后只剩下凭证抬头&#xff0c;没有行项目&#xff0c;凭证编号不变 …

量检具管理有一套

量检具是用于测量和检验产品尺寸、形状和质量的工具。有一位年轻的工程师小张&#xff0c;他负责管理工厂的量检具&#xff0c;确保它们能够准确地测量产品尺寸和质量。有一天&#xff0c;小张发现量检具出现了一些问题。他注意到一些量具的读数不准确&#xff0c;导致生产出来…

NSSCTF-Web题目15

目录 [HNCTF 2022 WEEK2]ez_SSTI 1、题目 2、知识点 3、思路 [SWPUCTF 2022 新生赛]Ez_upload 1、题目 2、知识点 3、思路 [HNCTF 2022 WEEK2]ez_SSTI 1、题目 2、知识点 SSTI、Jinja2 参考链接&#xff1a;1. SSTI&#xff08;模板注入&#xff09;漏洞&#xff08;…

AD23关于铺铜后不显示问题

1、全部铺铜快捷键T --> G --> A 2、局部铺铜操作&#xff1a;选中铜皮 --> 右键 --> Y --> O 3、铺铜是有顺序的&#xff0c;比如在内部先铺了一块铜皮&#xff0c;后面又进行整体铺铜&#xff0c;如果使用全部铺铜快捷键&#xff0c;可能会导致之前的铜皮被…

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装&#xff0c;可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 &#xff08;1&#xff09;通过position属性,可以控制下拉选项的位置 &am…

环境安装--JDK

目录 官网下载JDK JDK安装 配置环境变量 验证使用 卸载 官网下载JDK https://www.oracle.com/java/technologies/downloads https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html 注意区分&#xff1a; Java SE Development Kit 8…

C++集中营笔记(1)第一节课和第二节课

第一节课linux的使用 1.Linux 常用命令 [chenbogon ~]$ cd ~ [chenbogon ~]$ cd /home [chenbogon home]$ mkdir cpp-test mkdir: cannot create directory ‘cpp-test’: Permission denied [chenbogon home]$ sudo mkdir cpp-testWe trust you have received the usual lec…

群辉NAS使用Kodi影视墙

目录 一、KODI安装 二、修改UI语言 1、修改显示字体 2、修改语言为中文 四、添加媒体库 五、观看电影 五、高级设置 1、视图类型 2、修改点击播动作 五、补充 1、文件组织结构及命名 2、电影信息的刮削 (1)添加影片 (2)演员管理 (3)影片管理 (4)说明 K…

「51媒体」媒体邀约小常识

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体宣传加速季&#xff0c;100万补贴享不停&#xff0c;一手媒体资源&#xff0c;全国100城线下落地执行。详情请联系胡老师。 媒体邀约是组织或企业为了宣传、推广或展示其活动、产品或…

Linux tcpdump抓包必备知识

author: 放牛娃学编程 moto: 分享与热爱&#xff0c;不是大爱我不说 放牛娃每日一语: 除了你自己&#xff0c;没有人可以说你不行 别急着划开&#xff0c;这篇笔记一定能够给你带来收获 因为这里你能学到AI永远也给不了你的知识 Linux tcpdump抓包必备知识 文章目录 Linux tcp…

傅佩荣讲座视频全集百度网盘,傅佩荣讲座视频大全百度云

在当今信息爆炸的时代&#xff0c;获取知识的途径日益多元化&#xff0c;其中&#xff0c;通过网络观看各类教学视频已成为众多学习者的首选。傅佩荣教授的视频课程深受广大学者的喜爱。然而&#xff0c;对于许多初学者来说&#xff0c;如何下载傅佩荣的视频却是一个难题。本文…

nginx实现反向代理出现502的解决方法

目录 1. 出现原因 1.1. 防火墙拦截了端口 1.1.1. 使用 iptables 1.1.2. 使用 firewall-cmd&#xff08;适用于 CentOS/RHEL 7&#xff09; 1.2. docker容器中的ip和宿主机ip不一致 1. 出现原因 这里我是用的docker容器来进行nginx的启动的&#xff0c;在我们用nginx的配置…

Hyperf 在 NginxProxyManager 如何配置 websocket?

新建代理 填写域名等服务信息&#xff0c;选择支持WebSockets。 创建 SSL 编写nginx配置 location /message.io{proxy_pass http://<你的ip>:<对应端口号>;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upg…

测试内容初步认知

测试流程 了解需求--需求评审--编写测试用例--测试用例评审(产品、开发、测试)--提测测试--bug管理(devops)--集成--集成回归--发布灰度包测试(灰度周期一周)----编写测试报告--发布上线 测试岗位划分 功能测试 负责编写测试用例&#xff0c;执行手动测试&#xff0c;记录并…

Diffutoon:动漫风格视频转绘

Diffutoon 是 DiffSynth Studio 的一个子项目&#xff0c;用于将真人视频转为动漫风格&#xff08;三渲二&#xff09;

Springboot整合阿里云ONS RocketMq(4.0 http)

1. 引入依赖 <!--阿里云ons&#xff0c;方便的接入到云服务--> <dependency><groupId>com.aliyun.openservices</groupId><artifactId>ons-client</artifactId><version>1.8.4.Final</version> </dependency>2. 配置 配…

MyBatis系列之分页插件及问题

概述 无论是C端产品页面&#xff0c;还是后台系统页面&#xff0c;不可能一次性将全部数据加载出来。后台系统一般都是PC端登录&#xff0c;用Table组件&#xff08;如Ant Design Table&#xff09;渲染展示数据&#xff0c;可点击列表的下一页&#xff08;或指定某一页&#…