首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >CSS模块、React和重写CSS类

CSS模块、React和重写CSS类
EN

Stack Overflow用户
提问于 2016-02-04 11:31:06
回答 6查看 73K关注 0票数 30

我使用的是一个React库(React ),它使用CSS和Webpack:label___1nGy active___1Jur tab___Le7N tab是我正在传递的className道具在他们的Tab组件中输出该类。labelactive类来自库。我想在active上应用一组不同的样式,类似于.tab.activetab指的是我创建的样式,active与库创建的生成选择器相匹配,但无法找到如何使用css-模块来实现这一点。我需要重写这个动态选择器:.label___1nGy.active___1Jur

[

[2]

]3.

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-01-11 05:47:26

老职位,但仍然相关,所以增加一个答案,以帮助那些有类似问题的人

虽然在CSS模块中本身并不可行,但库的作者实际上已经很好地解决了这个特定的问题。

阅读他们的github文档,其中对https://github.com/react-toolbox/react-toolbox#customizing-components的主题有更深入的了解

特定组件的可主题类列表也在其站点的组件演示页上给出。

在您的示例中,除了传递className选项卡之外,您还将创建一个主题,该类覆盖所需的默认主题的部分,并将其作为theme支柱传递。举个例子吧.

MyComponentWithTabs.css

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.tab {
  color: white;
}

MyTabTheme.css

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.active {
  color: hotpink;
}

MyComponentWithTabs.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import styles from './MyComponentWithTabs.css'
import tabTheme from './MyTabTheme.css'

// blah blah...

return <Tab key={index} className={styles.tab} theme={tabTheme} />

在表面上,这使用了一个他们抽象成单独的库反应-css-css的装饰符,我建议也读一读,因为它解释了默认值是如何在更深的层次上与您的重写组合的,包括它们使用的不同的合并策略。

票数 14
EN

Stack Overflow用户

发布于 2016-05-09 14:22:26

CSS模块不允许您安全地覆盖活动className (主要是通过设计)。实际上,它应该通过API公开,例如'activeClassName‘。

如果维护人员不同意,或者您需要快速添加,那么您可以很容易地添加自己的active className,因为您的实现组件正在管理索引状态:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import {Tab, Tabs} from 'react-toolbox';
import styles from './MyTabs.css';


class MyTabs extends React.Component {
  state = {
    index: 1
  };

  handleTabChange(index) {
    this.setState({ index });
  }

  render() {
    const { index } = this.state;
    return (
      <Tabs index={index} onChange={this.handleTabChange}>
        <Tab label="Tab0" className={index === 0 ? styles.active : null}>
            Tab 0 content
        </Tab>
        <Tab label="Tab1" className={index === 1 ? styles.active : null}>
            Tab 1 content
        </Tab>
      </Tabs>
    );
  }
}

免责声明:代码未经测试。

票数 5
EN

Stack Overflow用户

发布于 2016-05-20 06:56:27

我也有过类似的案子,我就这样解决了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import classNames from 'classnames';

...

const activeClassName = {};
activeClassName[`${styles.active}`] = this.props.isActive;
const elementClassNames = classNames(styles.element, activeClassName);

return <div className={elementClassNames} />

我使用classnames包动态添加基于isActive支柱的活动类。您可以提供任何布尔值,而不是isActive支柱。

这样做的一个更简单的方法可能是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const elementClassNames = classNames(styles.element, {[styles.active]: this.props.isActive});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35209924

复制
相关文章
【React】:CSS 模块化
以下是 CSS Guidelines 中的一个示例,这个示例展示了一个问题:除了写这段代码的人,没有人知道这段代码是干什么的。
WEBJ2EE
2020/07/14
1.3K0
【React】:CSS 模块化
React 进阶 - 模块化 CSS
随着 React 项目日益复杂化、繁重化,React 中 css 面临很多问题,比如样式类名全局污染、命名混乱、样式覆盖等。这时, css 模块化就显得格外重要。
Cellinlab
2023/05/17
2K0
React 进阶 - 模块化 CSS
css重写checkbox样式
一、前言 默认的checkbox长这样: <p> <span><input type="checkbox" /></span> <spa
JMCui
2018/03/15
1.5K0
css重写checkbox样式
React-组件-CSS模块化
在以前我们的文件是这样的 index.css 如果使用了 CSS 的模块化之后,在之前的文件的基础上在加上 .module 即可,如,index.module.css,改造我们之前的案例,修改 Home.css 与 About.css:
杨不易呀
2023/09/30
2320
React使用css module和className多类名设置
最近在写react的时候碰到了一个小问题:现在css样式我通过下图这样的方式直接引进来的时候,发现会和其他组件里面相同className的会有冲突的现象。正常来说吧,是可以通过不同的组件在className前面加上不同组件的标识做区分的,但是这样感觉不舒服。写习惯了vue的,发现vue里面是可以加scoped将样式私有化,那react应该也会有类似的解决方案吧。
挥刀北上
2021/03/10
4.1K0
React使用css module和className多类名设置
react的css
与传统 html 标签类属性不同,react 中 class 必须编写为 className,比如
愧怍
2022/12/27
1.6K0
react的css
CSS伪类
如果想在某一标签元素后面 ,添加一个新的元素,可以使用伪元素 ::before和::after
摸鱼的G
2023/02/22
8270
CSS伪类
  注:如果链接不起作用,请修改链接状态顺序为link--visited--hover-active.
阿豪聊干货
2018/08/09
8720
react的css样式
1、使用React的行内样式设置样式 (1)在JSX文件中定义样式变量,和定义普通的对象变量一样 let backAndTextColor = { backgroundColor:'blue', color:'#ff671b', fontSize:40 }; (2)JSX的调用 <div style={backAndTextColor}>行内样式测试</div> 也可以直接写到JSX中,如下: <div style={{backgroundColor:'blue',color:'#f
江一铭
2022/06/16
1.1K0
React 中使用CSS
注意事项: 在正常的css中,比如background-color,box-sizing等属性,在style对象div1中的属性中,必须转换成驼峰法,backgroundColor,boxSizing。而没有连字符的属性,如margin,width等,则在style对象中不变。
grain先森
2019/03/28
1.4K0
CSS-伪类和伪元素
背景 写了这么多年代码,对CSS中的伪类和伪元素竟然没有细致的进行过学习总结,由此可见在实际代码开发中,用的也确实不多,也就用过一些:first-child,:hover之类的吧,其它的连before什么的都没用过,于是迫切需要大于伪元素与伪类进行一个系统整体的学习。 伪类和伪元素 伪类:是以一个冒号作为前缀,被添加到选择器的末尾,当你希望在特定状态下(:hover)才被呈现到指定元素时,可以往元素的选择器后面加上伪类。 伪元素:用于创建一些不在文档树中的元素,并为其添加样式。比如::befor
六个周
2022/10/28
1.1K0
css模块化及CSS Modules使用详解
什么是css模块化? 为了理解css模块化思想,我们首先了解下,什么是模块化,在百度百科上的解释是,在系统的结构中,模块是可组合、分解和更换的单元。模块化是一种处理复杂系统分解成为更好的可管理模块的方式。它可以通过在不同组件设定不同的功能,把一个问题分解成多个小的独立、互相作用的组件,来处理复杂、大型的软件。看完模块化,是不是有种拼图的即视感,可以把大图分成各个小图,然后把小图拼成大图,分与合的艺术感。那么css模块化思想,也就是在css编写环境中,用上模块化的思想,把一个大的项目,分解成独立的组件,不同的
xiangzhihong
2018/02/05
6.9K0
css伪类的说明以及使用(css事件)
CSS伪类的使用(css事件) 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/7670959.html   之前有开发开发App的时候,有同事问我那个列表的条目
上帝
2018/06/26
1.3K0
理解CSS模块化
在瞬息万变的前端开发世界中,很难找到一个真正有意义的概念,并且将其清晰明了的向广大人民群众普及。
疯狂的技术宅
2019/03/28
6280
CSS :where 和 :is 伪类函数是什么?
:is() 和 :where() 都是伪类函数,可以帮助缩短和停止创建选择器时的重复。它们都接受选择器的参数数组(id,类,标签等),并选择可以在该列表中选择的任何元素。
刘小夕
2021/09/08
6620
CSS :where 和 :is 伪类函数是什么?
CSS 基础系列:伪类和伪元素
CSS 引入伪类和伪元素的概念是为了格式化文档树以外的信息。也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或者是列表中的第一个元素。
Chor
2019/11/07
1.9K0
CSS中的伪类和伪元素
伪类连同伪元素一起,他们允许你不仅仅是根据文档 DOM 树中的内容对元素应用样式,而且还允许你根据诸如像导航历史这样的外部因素来应用样式(例如 :visited),同样的,可以根据内容的状态(例如在一些表单元素上的 :checked),或者鼠标的位置(例如 :hover 让你知道是否鼠标在一个元素上悬浮)来应用样式。
刘亦枫
2020/03/19
2.8K0
CSS中的伪类和伪元素
CSS通用类和“结构与样式分离”
过去的几年里,我编写CSS的方式已经从“语义化”转变为“函数式”(经常被这样称呼)了。
疯狂的技术宅
2019/03/27
3.3K0
CSS通用类和“结构与样式分离”
css伪类的说明以及使用(css事件)
转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/7670959.html
上帝
2018/09/27
1.2K0
css伪类的说明以及使用(css事件)
css伪类的说明以及使用(css事件)
CSS伪类的使用(css事件) 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/7670959.html   之前有开发开发App的时候,有同事问我那个列表的条目
上帝
2018/05/18
1.1K0

相似问题

在React中重写css类

22

如何在react js中重写css模块

10

React中CSS模块中CSS类的组合

10

重写HTML和CSS类

11

重写CSS类

59
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文