javascript - 不能将 Gatsby Link 与 justify-content 一起使用
问题描述
我有一个使用 Gatsby Link 和样式组件的导航组件
原始导航组件
import React from "react"
import styled from "styled-components"
import { Link } from "gatsby"
const NavWrapper = styled.nav`
display: flex;
justify-content: flex-end;
@media screen and (max-width: 769px) {
display: none;
}
`
const NavItem = styled(props => <Link {...props} />)`
font-size: 1.4rem;
color: #eeeeee;
margin: 20px 15px 0 0;
padding-right: 15px;
text-decoration: none;
border-right: 1px solid #eeeeee;
line-height: 80%;
&:nth-child(4) {
border-right: none;
}
`
const DesktopNav = () => (
<NavWrapper>
<NavItem to="/" activeClassName="active">
home
</NavItem>
<NavItem to="/portfolio" activeClassName="active">
portfolio
</NavItem>
<NavItem to="/about" activeClassName="active">
about
</NavItem>
<NavItem to="/contact" activeClassName="active">
contact
</NavItem>
</NavWrapper>
)
export default DesktopNav
但是当我justify-content
用来对齐导航时,没有一个链接是可点击的。我尝试在不使用 Gatsby Link 的情况下重新构建导航,如下所示:
重建导航组件
const DesktopNav = () => (
<nav>
<ul>
<li><a href="/">home</a></li>
<li><a href="/portfolio">portfolio</a></li>
<li><a href="/about">about</a></li>
<li><a href="/contact">contact</a></li>
</ul>
</nav>
)
export default DesktopNav
但仍然在任何时候我justify-content
用来对齐导航时,没有一个链接是可点击的,尽管我可以在浏览器控制台中看到为每个元素设置的 href。
我还发现,如果我删除justify-content
但保留display: flex;
一些导航链接是可点击的,而其他的则不是。我不确定这是否与display: flex;
将容器设置为块元素有关,或者这是否是某种错误?我已经在 Firefox 和 Chrome 中使用最新版本的 Gatsby 进行了尝试,但没有成功。任何帮助将不胜感激!
解决方案
推荐阅读
- reactjs - 将画布从 React Konva 导出为 SVG 和 PDF?
- powershell - PowerShell AD 组详细信息
- asp.net-core - 使用 ProjectTo<> 时缺少从“对象”到“对象”的映射
- c# - Asp.net core,自适应卡片返回格式化日期
- mysql - 需要帮助将以下查询从 My SQL 转换为 MS SQL Group_Concat 函数
- google-chrome - 仅强制执行内容安全策略和 CSP 报告之间的区别
- javascript - 如何制作画布形状的圆形?
- python - Pandas(Python):如何使用条件填充具有前一行值的空单元格
- java - habarta typescript-generator : 将 Java 枚举转换为 Typescript 字符串数组
- windows - 将 PowerShell 脚本转换为安装包