css - 如何使用 classNames 和 JSX 在 reactjs 元素中使用 css 模块设置子项的样式

标签 css twitter-bootstrap reactjs auth0

我正在使用 React JS 建立一个元素,并希望使用 auth0 来处理身份验证(可能还有一些无服务器功能)。

auth0 提供了一个不错的“种子”元素 https://github.com/auth0-samples/auth0-react-sample基本上开箱即用。

主容器的代码使用 JSX 并从模块文件加载 css 样式。模块文件提供用于样式化的 className 类。

我正在使用 React-Bootstrap 组件扩展 Bootstrap 布局,并且能够使用 classNames 语法设置一些组件的样式。

例如,我将 Navbar 的背景颜色设置为这样:

附加到css模块文件/01-Login/src/views/Main/styles.module.css

.mainNavBar{
        background-color: rgb(45, 140, 210);                                                    
        border-color: rgb(45, 140, 210);                                                        
} 

然后到包含JSX的文件01-Login/src/views/Main/Container.js

<Navbar className={styles.mainNavBar} fixedTop>
...
</Navbar>

但是,当我尝试设置其他内部元素的样式时,即文本颜色,

我试过:

.mainMenuItem { 
        color: #fff;
}

和:

 <NavItem className={styles.mainMenuItem} eventKey={1} href="#">Link</NavItem>

这是行不通的。我认为这是因为我不知道如何到达 NavItem 的 child 。

我试过这个和它的变体:

.mainMenuItem ul > li > a { 
        color: #fff;
} 

但这似乎不是正确的方法,而且不起作用(虽然在浏览器上检查时,'li' 元素在某个时候用颜色设置了样式,但不是 'a ' ...)。

最后,我尝试了内联样式(参见相关问题 Add inline style in reactjs without using JSX),但这似乎遇到了同样的继承问题。

非常感谢你能在我困惑的时候指出正确的方向。

编辑 19/07/2016

看起来 NavItem 没有获取样式元素...

我向 react-bootstrap 提交了一个问题: https://github.com/react-bootstrap/react-bootstrap/issues/2070

最佳答案

我在 Radium 中使用了带有 javascript 语法的内联样式而不是传递带有“Classname”属性的标准 css。

关于css - 如何使用 classNames 和 JSX 在 reactjs 元素中使用 css 模块设置子项的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38445477/

相关文章:

css - 无法在使用标记中覆盖类属性

javascript - 鼠标 ScrollLeft 不适用于 IE、Firefox、Safari

html - td 元素上的伪悬停类不适用于 anchor (a) 标记

javascript - asp.net bootstrap 在回发事件后保持当前事件选项卡

javascript - React.js 应用程序是否会根据请求完全传送到浏览器?

javascript - 如何将常量放入 React 组件中,并包装在 recompose 中

html - CSS 置顶,然后滚动回到顶部

css - 只能让 CSS 下拉菜单出现在悬停时

html - 如何更改 Bootstrap 中 Accordion 选项卡的背景颜色?

javascript - Bootstrap 3 桌面粘滞菜单滚动