reactjs - 如何使图标按钮粘在导航栏的左侧
问题描述
我在这里有这个组件,它可以制作一个导航栏,但到目前为止,头像按钮就在“主页”按钮旁边。我对反应和网络编程还很陌生,所以我不确定要寻找什么来使头像按钮粘在导航栏的右上角。
export default function MenuAppBar() {
const [auth, setAuth] = React.useState(true);
const [anchorEl, setAnchorEl] = React.useState(null);
const handleChange = (event) => {
setAuth(event.target.checked);
};
const handleMenu = (event) => {
setAnchorEl(event.currentTarget);
};
const handleClose = () => {
setAnchorEl(null);
};
return (
<Box sx={{ flexGrow: 1 }}>
<AppBar position="static">
<Toolbar>
<IconButton
size="large"
edge="start"
color="inherit"
aria-label="menu"
onClick={handleMenu}
sx={{ mr: 2 }}
>
<MenuIcon />
<Menu
id="menu-appbar"
anchorEl={anchorEl}
anchorOrigin={{
vertical: 'top',
horizontal: 'right',
}}
keepMounted
transformOrigin={{
vertical: 'top',
horizontal: 'right',
}}
open={Boolean(anchorEl)}
onClose={handleClose}
>
<MenuItem onClick={handleClose}>Profile</MenuItem>
<MenuItem onClick={handleClose}>My account</MenuItem>
</Menu>
</IconButton>
<a className="navbar-brand" href="/home" sx={{ flexGrow: 1 }}>
Bookeroo
</a>
{auth && (
<div>
<IconButton
size="large"
aria-label="account of current user"
aria-controls="menu-appbar"
aria-haspopup="true"
onClick={handleMenu}
color="inherit"
>
<AccountCircle />
</IconButton>
<Menu
id="menu-appbar"
anchorEl={anchorEl}
anchorOrigin={{
vertical: 'top',
horizontal: 'right',
}}
keepMounted
transformOrigin={{
vertical: 'top',
horizontal: 'right',
}}
open={Boolean(anchorEl)}
onClose={handleClose}
>
<MenuItem onClick={handleClose}>Profile</MenuItem>
<MenuItem onClick={handleClose}>My account</MenuItem>
</Menu>
</div>
)}
</Toolbar>
</AppBar>
</Box>
);
}
解决方案
因此,我将假设您的标记类似于(不一定准确)
<div className="wrapper">
<div className="toggle">toggle</div>
<div className="item">Home</div>
<div className="icon">icon</div>
</div>
我会制作wrapper
一个弹性盒子并icon
向右移动。像这样
.wrapper {
display: flex;
width: 100%;
}
.icon {
margin-left: auto;
}
根据margin: auto
边距的方向(从左到右,从右到左,等等)强制项目到末尾
推荐阅读
- laravel - Laravel 中 Symfony 渲染(控制器)的替代方案是什么
- scala - 使用scala检查临时文件(信号量)是否存在
- kotlin - io.mockk.MockKException: no answer found for while any() 用作参数
- tooltip - 如何在邮递员中启用拼写更正
- sql - 选择另一列最大的列
- java - 指定属性和日志文件的位置时出错
- sql - 当一个计数不受 WHERE 子句中的参数限制时,如何将两个计数列添加到结果集中?
- go - 无法从同一区域的 Compute Engine 访问 GCP MemoryStore
- trace32 - 如何在 Lauterbach CMM 脚本中使用宏声明数组
- java - CloseableHttpClient 会话未关闭