【发布时间】:2021-10-18 19:05:38
【问题描述】:
每当我在导航栏中的状态发生变化时,我希望 NavItems 的背景在它为 false 时是透明的,并在它为 true 时添加渐变背景。
我知道如果是普通的 CSS,我可以将 'NavItems active' 作为我的 className 和 ?operator 用于 if 语句,但是我该如何使用 CSS 模块呢?
index.module.css
.NavItems{
background: transparent !important;
height: 100px;
display:flex;
justify-content:center;
align-items:center;
font-size: 1.5rem;
font-weight: bold;
position: sticky;
top:0;
z-index:300;
}
.NavItems.active{
background: linear-gradient(90deg, rgb(61,49,49) 0%, rgba(49,49,49,1)100%) !important;
}
index.jsx
return (
<nav className={navbar ? styles.active : styles.NavItems}>
<div>
<Link to='/'>
<img className={styles.NavLogo} src={logo} alt='LaoMa Logo'/>
</Link>
</div>
<div className={styles.menu_icon} onClick={handleClick}>
<i className={click ? 'fas fa-times' : 'fas fa-bars'}>
</i>
</div>
<ul className={click ? styles.nav_menu.active : styles.nav_menu}>
{NavItems.map((item, index)=> {
return (
<li key={index}>
<Link onClick={closeMobileMenu} className={styles[item.cName]} to={item.url}>
{item.title}
</Link>
</li>
)
})}
</ul>
</nav>
);
【问题讨论】:
标签: css reactjs css-modules classname