演示React中使用普通css样式表的作用域冲突问题

简介: 一、样式表是否只在list组件中生效二、Vue组件中的样式表是否存在冲突问题三、react中是否类似scoped的指令

演示React中使用普通css样式表的作用域冲突问题

 

目录

一、样式表是否只在list组件中生效

二、Vue组件中的样式表是否存在冲突问题

三、react中是否类似scoped的指令

 

一、样式表是否只在list组件中生效

 

//问题:这个样式表是只在list组件中生效嘛?

//经过实验发现,直接导入css样式表,默认的是在全局上,整个项目都生效的!

 

二、Vue组件中的样式表是否存在冲突问题

 

//思考:Vue组件中的样式表,有没有冲突的问题?

//答案:Vue 组建中的样式表,也有冲突的问题;但是,可以使用<style scoped></style>解决冲突问题,因为scoped会给组件中间所有样式加上前缀,前缀给它提供了作用域。

 

三、react中是否类似scoped的指令

 

//疑问:react中,有没有类似scoped这样的指令呢?

//答案:没有,因为在react中根本没有指令概念;

import cssobj from “@/css/cmtlist.css” //import对象来接收,再用from给它一个路径。

只要在任何组件中用到样式表,那么它默认在全局在整个项目的宏观的角度上有一个.title的一个类。

 

import React from “react”

//导入列表组件需要的样式表

 

console.log(cssobj);  //是一个空对象,因为它没有相对暴露任何成员,存在样式冲突

 

//导入评论项组件

import CmtItem from “@/ components/CmtItem2”  //此文件中写的js代码,要导入,又要接收,在对应文件中要用export用一些成员

 

export default class CmtList extends React.Component{

constructor(){

super()

this.state = {

Commentlist: [//评论列表数据

{ id: 1,user:”张三”, content:‘哈哈,沙发’}

{ id: 2, user:”李四”,content:”哈哈,板凳”}

{ id: 3,user:“王五”, content: “哈哈,凉席”}

{ id: 4,user:‘'赵六” , content:”哈哈,砖头”}

{ id: 5,user:”田七”, content: “哈哈,楼下山炮”}

]

}

}          

 

render() {

return <div>

<hl className="title"">这是评论列表组件</h1>

//可以用list测试当前list组件有没有h1标签,Item里有没有h1标签

 

{this.state.CommentList.map(item => <CmtItem {...item} key={item.id}></CmtItem>)}

</div>

 }

}

 

 

Cmtlist.css文件:

.title{

Clolor:red;

}

 

h1{

font-style:italic;

}  //因为样式表没有模块的作用域

image.png

文字倾斜证明并不是局部生效,是全局生效

CmtItem2.jsx文件:

import React from 'react'

 

export default function CmtItem(props){

return <div>

<h1 className=”title”>评论人: {props.user}</h1> //字体变为红色,每个组件都是基于首页来进行呈现,这个类也可以访问到,造成冲突。

<p>评论内容:{props.content}</p>

</div>

}

//js样式表有独立作用域

相关文章
|
1月前
|
前端开发
create-react-app 如何使用 less/sass 和 react-css-modules?
本文详细介绍了在 create-react-app 项目中如何使用 less/sass 和 react-css-modules 来管理和应用样式。首先,通过安装相应依赖并配置 webpack 支持 less/sass;接着,介绍如何使用这些预处理器编写样式;最后,讲解了如何配置和使用 react-css-modules 实现样式的模块化管理,以及如何结合使用 less/sass 和 react-css-modules 提高开发效率和代码质量。
35 3
|
1月前
|
前端开发 JavaScript 数据处理
CSS 变量的作用域和 JavaScript 变量的作用域有什么不同?
【10月更文挑战第28天】CSS变量和JavaScript变量虽然都有各自的作用域概念,但由于它们所属的语言和应用场景不同,其作用域的定义、范围、覆盖规则以及与其他语言特性的交互方式等方面都存在明显的差异。理解这些差异有助于更好地在Web开发中分别运用它们来实现预期的页面效果和功能逻辑。
|
1月前
|
前端开发 开发者 容器
CSS 变量的作用域是什么?
【10月更文挑战第28天】理解CSS变量的作用域规则对于有效地使用CSS变量来组织和管理页面样式非常重要。通过合理地利用全局作用域和局部作用域,以及掌握变量的覆盖和继承规则,可以创建更具可维护性、灵活性和可扩展性的CSS样式表,实现各种复杂的页面设计和样式需求。
|
2月前
|
前端开发 JavaScript
React Tailwind CSS
10月更文挑战第12天
21 1
|
2月前
|
前端开发 容器
React 使用 CSS 样式
10月更文挑战第12天
42 0
|
3月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
115 1
|
3月前
|
JavaScript 前端开发
react Or vue中引入animate.css
本文介绍了如何在React或Vue项目中引入animate.css库来使用动画效果,包括通过npm安装或在线链接引入,并展示了如何在React组件和Vue路由过渡中使用动画类。
80 0
|
4月前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
62 0
|
29天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
56 7

热门文章

最新文章