React 中的 CSS 冲突

ui 是我们开始输入逻辑以完成前端之前的第一步。因此,我们编写标记,然后编写获得所需用户界面所需的基本样式。在编写标记时,我们必须创建有意义的类名来寻址和访问 html 标记并向其添加样式。通过简单的用户界面和不同的标签,我们可以或多或少轻松地做到这一点。在编写重复且复杂的 ui 时,给出有意义且独特的名称会成为一场灾难,因为只有几个通用名称。因此,我们为各个组件创建组件和样式表。如下图。

React 中的 CSS 冲突

我们可以看到两个组件 GreenContainer 和 RedContainer 正在从 src 内的 Components 文件夹导入到 App.js 中。它们各自的样式表是 RedContainer.css 和 GreenContainer.css,它们是从 styles 文件夹导入的。让我们一一看看组件及其样式表。

第一个组件,RedContainer.jsx

React 中的 CSS 冲突

立即学习“前端免费学习笔记(深入)”;

相应的样式表是 – RedContainer.css

React 中的 CSS 冲突

现在看看第二个组件,GreenContainer.js –

React 中的 CSS 冲突

第二个组件的 CSS 文件 GreenContainer.css

React 中的 CSS 冲突

两个样式表都为其各自的组件包含不同的 CSS 属性。因此,预期的 UI 结果可能是一个有两个块的屏幕,一个是带有 150 像素臂的红色方块,另一个是带有 200 像素臂的绿色方块。让我们看看渲染后的 React 应用程序。

React 中的 CSS 冲突

为什么会发生这种情况?最后一个容器的 CSS 属性已应用于两个容器。但如何呢?答案是在 React 应用程序渲染之前,所有样式表都被编译到一个 CSS 文件中,其中有两个同名的类选择器 – “.container”,这就是为什么 CSS 属性来自最后一个“.container{” }”已应用于全球所有容器。这个问题可以通过使用 CSS 模块来解决。 CSS 模块是 CSS 文件,默认情况下所有类名称的范围都是本地的。这可以通过以下方式帮助我们

1) 将样式本地化到特定组件可以防止这种全局范围冲突。

2) 允许在不同模块中使用相同的类名并促进模块化样式。

要使用模块化样式,我们必须将“.css”替换为“.module.css”,并从这些文件中导入“样式”。

React 中的 CSS 冲突

将样式导入到各自的组件中。对于 RedContainer –

React 中的 CSS 冲突

对于 GreenContainer

React 中的 CSS 冲突

一般情况下,我们将className写成这样的字符串,如果className是“container”我们会写className = “container”。对于 CSS 模块,我们将在 jsx 文件中编写这样的类名 className = {styles.container}。现在让我们看看渲染的 React 应用程序 –

React 中的 CSS 冲突

现在不存在 CSS 冲突问题,并且样式已正确应用到各个组件。

以上就是React 中的 CSS 冲突的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2854115.html

(0)
上一篇 2025年3月10日 14:46:00
下一篇 2025年3月7日 09:31:28

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 免费 Vanilla CSS 模板的最佳网站

    这是最好的网站的综述,您可以在其中找到并下载免费的 css 模板。我们专注于不使用任何框架的普通 css 模板。这些高质量的项目将为您的网站、登陆页面、博客和作品集提供支持。 在线空间中有许多模板创建者。以下是让下面提到的这些人脱颖而出的原…

    2025年3月10日 编程技术
    200
  • 《Insect Particlizer》像素操作与 CSS 结合的实验

    canvas..多么美丽的名字,并不能表达我对这个api的喜爱程度,虽然一开始对我来说很糟糕,但经过一些尝试和错误,我理解了它,甚至尝试用它创建不常见的东西这让我的 ide 崩溃了好几次。这里的这个实验只是我在前端之旅中经常做的无数实验之一…

    2025年3月10日
    200
  • 我如何编写 CSS 选择器

    CSS 方法有很多,但我都讨厌它们。有些多(顺风等),有些少(BEM、OOCSS 等)。但归根结底,它们都有缺陷。 当然,人们使用这些方法有充分的理由,并且解决的许多问题我也遇到过。因此,在这篇文章中,我想写下我自己的关于如何保持 CSS …

    2025年3月10日
    200
  • CSSseudo-Classes and Pseudo-Elements: An In-Depth Look

    简介 嘿,了不起的人们。今天,我们将深入研究 css 中的伪类和伪元素的世界。这些是我们 css 工具包中的强大工具,可以帮助我们以独特的方式定位和设计元素,使我们的工作更加高效,使我们的网页更加动态。 我们将从基础知识开始,了解什么是伪类…

    2025年3月10日
    200
  • CSS 布局 – 浮动、Flexbox 和网格

    第 5 讲:css 布局 – 浮动、flexbox 和网格 在本次讲座中,我们将深入探讨在 css 中创建布局的基本技术。了解如何使用浮动、flexbox 和网格构建内容将使您能够构建响应灵敏且组织良好的网站。在本讲座结束时,您…

    2025年3月10日
    200
  • 降低性能的两行 CSS(fps 到 ps)

    我最近发布了 learn wc,如果您看过它,您可能已经注意到背景中的动画,其中彩色圆圈在屏幕上对角移动。看起来像这样: 它在 chrome 和 safari 上运行良好,但我注意到 firefox 上的性能严重下降。 性能太差了,我直接在…

    2025年3月10日 编程技术
    200
  • 如何设置独立 CLI:在 Shopify 中使用 Tailwind CSS,而不使用 Nodejs

    依赖关系 Shopify CLI:一种命令行界面工具,可帮助您开发和管理 Shopify 主题。TailwindCSS:实用程序优先的 CSS 框架,用于快速构建自定义设计。 设置 我们使用 Tailwind 作为独立的 CLI 工具。更多…

    2025年3月10日
    200
  • 建立一个登录表单网站

    介绍 开发者们大家好!我很高兴分享我的最新项目:登录表单。该项目非常适合那些希望构建一个干净且功能齐全的登录界面的人,用户可以使用该界面来验证自己的身份。这是使用 html、css 和 javascript 增强前端开发技能的好方法,同时创…

    2025年3月10日
    200
  • 在 React/Nextjs 中添加深色和浅色主题支持

    在 react/next.js 中添加深色和浅色主题支持 概述 在本指南中,我们将引导您完成向 react 或 next.js 应用程序添加深色和浅色主题支持的步骤。这种方法将允许用户在主题之间切换,并且 ui 将相应更新。 先决条件 re…

    2025年3月10日
    200
  • 使用 React 构建 BMI 计算器

    使用 react 构建 bmi 计算器 介绍 体重指数(bmi)是一种广泛使用的指标,用于确定一个人在给定身高下是否拥有健康体重。在本博客中,我们将逐步介绍如何使用 react 创建一个简单但实​​用的 bmi 计算器。这个项目允许用户输入…

    2025年3月10日
    200

发表回复

登录后才能评论