【发布时间】:2022-01-08 07:05:27
【问题描述】:
我正在尝试制作一个类似于此网站的导航栏:https://med.stanford.edu/ultrasound.html。
到目前为止,我已经完成了自己的样式,但我坚持的一件事是,当我缩短浏览器的宽度时,标题会与我的徽标重叠。我不要那个。我想将导航栏标题始终保留在徽标旁边,就像我提供的网站一样。如何做到这一点? 我的导航栏组件
import React from "react";
import NavbarItems from "./NavbarItems";
import "./navbar.css";
import logo from "../../logo/logo.png";
import { Image } from "@chakra-ui/image";
import { Text } from "@chakra-ui/react";
function Navbar(props) {
return (
<>
<nav className='NavbarItems'>
<div className='navbar-logo'>
<a href='#'>
<Image src={logo} alt='logo' />
</a>
</div>
<div className='navbar-title'>
<Text>Some text beside the logo</Text>
</div>
<div
className='menu-icon'
onClick={() => props.setIsMenuOpen(!props.isMenuOpen)}
>
<i className={props.isMenuOpen ? "fas fa-times" : "fas fa-bars"}></i>
</div>
<ul className={props.isMenuOpen ? "nav-menu active" : "nav-menu"}>
{NavbarItems.map((item, index) => {
return (
<li key={index}>
<a className={item.cname} href={item.url}>
{item.title}
</a>
</li>
);
})}
</ul>
</nav>
</>
);
}
export default Navbar;
我的导航栏 CSS 文件
.NavbarItems {
height: 80px;
display: flex;
justify-content: center;
align-items: center;
font-size: 1rem;
font-weight: 600;
position: -webkit-sticky;
position: fixed;
top: 0;
width: 100%;
z-index: 1;
background: white;
}
.navbar-logo {
position: relative;
justify-self: start;
margin-left: 8px;
margin-right: 8px;
cursor: pointer;
width: 250px;
}
.navbar-title {
position: relative;
justify-self: start;
}
.nav-menu {
display: grid;
grid-template-columns: repeat(5, auto);
grid-gap: 10px;
list-style: none;
text-align: center;
width: 70vw;
justify-content: end;
margin-right: 2rem;
}
【问题讨论】: