css - 样式未正确应用于 Navbar React 组件
问题描述
我正在学习 Next.js——目前版本为10.0.3
. 我正在使用react-bootstrap
版本1.4.0
和classnames
版本2.2.6
。
我正在使用一个组件Navbar
(这是我到目前为止所拥有的:
// ~/project-name/components/Header.tsx
import classnames from "classnames";
import Link from "next/link";
import React from "react";
import { Container, Nav, Navbar } from "react-bootstrap";
import styles from "./Header.module.css";
const Header: React.FC = () => {
return (
<>
<Navbar className={classnames(styles.borderBottom, styles.boxShadow)} bg="dark" expand="lg" variant="dark">
<Container>
<Link href="/" passHref>
<Navbar.Brand><span className="font-weight-bold">./shīdo.io</span></Navbar.Brand>
</Link>
<Navbar.Toggle aria-controls="id-navbar-nav" />
<Navbar.Collapse id="id-navbar-nav">
<Nav className="ml-5 mr-auto">
<Link href="/" passHref>
<Nav.Link active>Home</Nav.Link>
</Link>
<Link href="/features" passHref>
<Nav.Link>Features</Nav.Link>
</Link>
</Nav>
<Nav>
<Link href="/login" passHref>
<Nav.Link>Login</Nav.Link>
</Link>
</Nav>
</Navbar.Collapse>
</Container>
</Navbar>
</>
);
};
export default Header;
# ~/project-name/components/Header.module.css
@charset "UTF-8";
.border-bottom {
border-bottom: 5px solid #e5e5e5;
}
.box-shadow {
box-shadow: 0 .5rem .75rem rgba(0, 0, 0, .05);
}
问题在于,border-bottom
并box-shadow
没有应用于nav
最终文档中生成的 HTML 标记。任何帮助将不胜感激。
我也尝试
<style jsx>{``}</style>
在同一个组件中使用(具有相同的样式)Header.tsx
,但它也没有做任何事情。
解决方案
CSS 类名没有出现。您可以尝试如下提供:
className={classnames(styles['border-bottom'], styles['box-shadow'])}>
如果在开发人员控制台中看到,React 会使用更新后的名称更新提供的用户样式表类名称。
不确定这是否回答了您的疑问,但您可以尝试这样的方法来通过类名选择该元素:
[class^="Header_border-bottom"] or [class*="Header_border-bottom"]
推荐阅读
- scala - Scala 函数返回行为
- flutter - 将 ListTile 小部件的背景更改为透明,使其与背景页面的颜色混合
- python - 基本元素提取?
- python - SQLAlchemy 将 null 传递给 or
- flutter - 如何使用我的整个应用在 TabBarView 中创建可滚动内容?
- c++ - 'iostream' 文件未找到 Xcode
- reactjs - 使用 useEffect() Hook 和 Async/Await 从 Firebase/Firestore 获取数据
- python - 谷歌视觉服装服务器
- java - 如何阻止我的游戏船向后加速?
- vba - 强制条形码扫描仪扫描访问表单上的特定字段