我试图在我的网站上用react和css做一个导航栏,但我无法在屏幕右侧找到配置文件按钮。我只能把它放在屏幕中间或远处。这是我的css的导航栏
.navbar {
width: 100%;
flex-flow: row;
height: 70px;
background-color: var(--color-surface-200);
display: Flex;
justify-content: space-between;
position: sticky;
top: 0px;
}
.rightbar {
position: absolute;
right: 0px;
}
.leftbar {
justify-content: start;
}
.navbar a {
margin-left: 20px;
text-decoration: none;
color: var(--color-primary-100);
}
下面是react/html部分:
<div className="navbar">
{!authState.status ? (
<div>
<div class="leftbar">
<Link to="/"> HomePage</Link>
<Link to="/login"> Login </Link>
<Link to="/registration"> Registration </Link>
</div>
<div class="rightbar"></div>
</div>
) : (
<div>
<div class="leftbar">
<Link to="/">HomePage</Link>
<Link to="/createpost">Create a post</Link>
</div>
<div class="rightbar">
{Userdata ? (
<div class="dropdown">
<button class="dropbtn">
<Image
style={{ width: 35, height: 35, borderRadius: "50%" }}
source={{
uri: `https://server.fillyourfreetime.com/${Userdata.pfp}`,
}}
/>{" "}
{Userdata.username}
</button>
<div class="dropdown-content">
<Link to={`/profile/${Userdata.id}`}>profile</Link>
<Link to="/editprofile">edit profile</Link>
<Link onClick={logout}>logout</Link>
</div>
</div>
) : (
<div></div>
)}
</div>
</div>
)}
</div>
我试着在CSS中使用以下代码:justify-content: space-between
justify-content: right
justify-content: end
.rightbar {
with:50%
}
.leftbar {
width: 50%
}
但好像都不管用有人能帮帮忙吗
2条答案
按热度按时间xytpbqjk1#
在上面的HTML示例中,您将看到有一个额外的div Package 右栏和左栏。因此,flexbox完全按照您的要求执行操作,因为它内部只有一个元素。如果你像我在第二个例子中所做的那样删除div,它现在看到的是两个div,并像你期望的那样将它们隔开。运行代码段将使您给予更好的可视化效果。我希望这对你有帮助。
s8vozzvw2#
您可以使用下面的代码,它将为您提供所需的样式给予。
我使用的是MUI的AppBar。
使用以下CSS: