首页  >  问答  >  正文

我是否正确使用了NextJS的scss模块,或者是我弄错了?

我有一个pagination.tsx组件和一个包含样式的pagination.module.scss文件

.pagination {
  ul {
    display: inline-block;
    padding-left: 0;
    margin: 20px 0;
    border-radius: 4px;
  }

  li {
    display: inline;
    color: black;
    float: left;
    padding: 8px 16px;
    text-decoration: none;

    &.active {
      background-color: #4CAF50;
      color: white;
      border-radius: 5px;
    }

    &:hover:not(.active) {
      background-color: #ddd;
      border-radius: 5px;
    }
  }
}

简化的React组件如下:

import React from 'react';

import styles from './pagination.module.scss';

const Pagination: React.FC<Props> = () => {
    return (
        <div className={styles.pagination}>
            <ul>
                <li className={'active'}>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
            </ul>
        </div>
    );
};
export default Pagination;

PS: 在实际代码中,active是通过classNames动态设置的,但这里是静态类

我的问题是.pagination li.active的样式未应用,并且背景色不显示为#4CAF50

ul上的样式应用得很好,li上也是

但li.active没有应用

P粉349222772P粉349222772421 天前730

全部回复(1)我来回复

  • P粉346326040

    P粉3463260402023-09-17 15:00:43

    将您的li标签的className值替换为styles.active,问题应该就解决了

    回复
    0
  • 取消回复