【问题标题】:Some of CSS modules styles are not being applied某些 CSS 模块样式未应用
【发布时间】:2018-09-11 21:02:56
【问题描述】:

我很难使用 CSS 模块应用我的 CSS 规则之一。

这里是 React 代码和 CSS 样式。当应用于锚点时,除了active 类之外,所有规则都有效。我尝试了不同的名称、不同的选择器,但我无法使其与锚元素一起使用(hover 和 active 伪类工作正常)。

import React from 'react';

import classes from './NavigationItem.css';

const navigationItem = (props) => {
  return (
    <li className={classes.NavigationItem}>
      <a 
        className={classes.active}
        href={props.link} >
        {props.children}</a>
    </li>
  );
};

export default navigationItem;
.NavigationItem {
    margin: 0;
    box-sizing: border-box;
    display: flex;
    height: 100%;
    align-items: center;
}

.NavigationItem a {
    color: white;
    text-decoration: none;
    height: 100%;
    padding: 16px 10px;
    border-bottom: 4px solid transparent;
    box-sizing: border-box;
    display: block;
}

.NavigationItem a:hover,
.NavigationItem a:active
.NavigationItem a.active {
    background-color: #8f5c2c;
    border-bottom: 4px solid #40a4c8;
    color: white;
}

如果我使用具有相同 CSS 属性的内联样式对象,那么它可以正常工作。

const style = { 
  backgroundColor: '#8f5c2c',
  borderBottom: '4px solid #40a4c8',
  color: 'white'
};

Chrome devtools 还显示锚点正在获取 active 类。

有人知道为什么吗?

【问题讨论】:

    标签: javascript css reactjs css-modules


    【解决方案1】:

    这里缺少逗号:末尾的.NavigationItem a:active。应该是这样的:

    .NavigationItem a:hover,
    .NavigationItem a:active,
    .NavigationItem a.active {
        background-color: #8f5c2c;
        border-bottom: 4px solid #40a4c8;
        color: white;
    }
    

    【讨论】:

    • 我花了大约一个小时来弄清楚由于那个错字导致的问题:) 谢谢。
    猜你喜欢
    • 2021-09-09
    • 2012-08-03
    • 1970-01-01
    • 2020-03-27
    • 2011-01-29
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多