won*_*erv 3 sass reactjs react-bootstrap
我正在尝试设计 React Bootstrap 导航栏的样式。我能够成功地设置非活动选项卡的样式,但是,我似乎无法到达活动选项卡。我的实时样式是一个单独的 .scss 文件。这是相关的片段:
.navitem {
a {
font-size: 12px;
color: #000;
background-color: #e7e7e7;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-bottom-color: #357ebd;
border-bottom-style: solid;
border-radius: 0px !important;
display: inline-block;
border-bottom-width: 2px;
}
flex: 1;
}
.navitem.active {
background-color: #777777;
}
Run Code Online (Sandbox Code Playgroud)
创建活动 Bootstrap 组件后,其 HTML 如下所示:
<li role="presentation" class="Preview-navitem--19fA7 active"><a role="button" href="#">Preview</a></li>
Run Code Online (Sandbox Code Playgroud)
这是 React render() 方法中的 HTML:
<Nav
className={styles.navbar}
bsStyle="pills"
activeKey={this.state.value}
onSelect={this.handleSelect}
>
<NavItem className={styles.navitem} eventKey="1">Preview</NavItem>
{navItem}
</Nav>
Run Code Online (Sandbox Code Playgroud)
所以,基本上,我可以设置 .navitem 的样式,但不能设置 .active 的样式。知道我怎样才能做到这一点吗?
假设这是 CSS 模块,它看起来像是基于粘贴的代码,解决方案是使用全局选择器。CSS Modules 在 README 主页面的Exceptions下简要提到了这一点。然而,他们的webpack 演示有一个全局选择器示例,您可以克隆和使用。
简而言之,你应该改变:
.navitem.active {
background-color: #777777;
}
Run Code Online (Sandbox Code Playgroud)
到:
.navitem:global(.active) {
background-color: #777777;
}
Run Code Online (Sandbox Code Playgroud)
以便 Webpack 能够正确处理它。这应该就是所需要的一切!
| 归档时间: |
|
| 查看次数: |
4978 次 |
| 最近记录: |