演示 React 中使用普通 css 样式表的作用域冲突问题|学习笔记

简介: 快速学习演示 React 中使用普通 css 样式表的作用域冲突问题

开发者学堂课程【React 入门与实战演示 React 中使用普通 css 样式表的作用域冲突问题】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/585/detail/8111


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


目录

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

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

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


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

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

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


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

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

//答案:Vue 组建中的样式表,也有冲突的问题;但是,可以使用解决冲突问题,因为 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

这是评论列表组件

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

{this.state.CommentList.map(item => )}

}

}

Cmtlist.css文件:

.title{

Clolor:red;

}

h1{

font-style:italic;

}  

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

image.png

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

CmtItem2.jsx文件:

import React from 'react'

export default function CmtItem(props){

return

评论人: {props.user}

//字体变为红色,每个组件都是基于首页来进行呈现,这个类也可以访问到,造成冲突。

评论内容:{props.content}

}

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

相关文章
|
3月前
|
前端开发
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 提高开发效率和代码质量。
58 3
|
4月前
|
前端开发 JavaScript
React Tailwind CSS
10月更文挑战第12天
38 1
|
4月前
|
前端开发 容器
React 使用 CSS 样式
10月更文挑战第12天
57 0
|
5月前
|
前端开发 容器
css布局-弹性布局学习笔记
这篇文章是关于CSS弹性布局的学习笔记,详细介绍了flex容器和元素的相关属性,包括flex-direction、flex-wrap、flex-flow、justify-content、align-items、align-content以及order、flex-grow、flex-shrink、flex-basis、flex和align-self等,解释了这些属性在弹性盒子布局中的作用和用法。
|
5月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
191 1
|
5月前
|
JavaScript 前端开发
react Or vue中引入animate.css
本文介绍了如何在React或Vue项目中引入animate.css库来使用动画效果,包括通过npm安装或在线链接引入,并展示了如何在React组件和Vue路由过渡中使用动画类。
113 0
|
5月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
6月前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
76 0
|
6月前
|
前端开发 JavaScript 开发者
【前端革新力】React与CSS-in-JS完美邂逅:从styled-components到emotion,全面解析样式管理新趋势的实战应用与优势剖析!
【8月更文挑战第31天】CSS-in-JS 作为一种新兴的样式管理方式,近年来在前端社区受到广泛关注。它将样式嵌入 JavaScript,实现了样式与逻辑的高度耦合,提升了开发效率并解决了全局样式污染等问题。本文通过具体代码示例,探讨 CSS-in-JS 在 React 开发中的应用,并分享实践心得。首先介绍了 CSS-in-JS 的基本概念,然后详细展示了如何使用 styled-components 和 emotion 这两个流行库创建样式化组件。
328 0
|
8月前
|
前端开发 开发者
深入解析CSS样式表的优先级
深入解析CSS样式表的优先级
103 1

热门文章

最新文章