React Bootstrap 或其他用于 in-canvas 到 off-canvas 解决方案的库
React Bootstrap or other library for in-canvas to off-canvas solution
我的项目正在使用 React Bootstrap,但是我正在努力寻找与 Foundation 的 in-canvas to off-canvas 功能等效的功能,其中一些内容是在页面的正常流动中可用,但随后在较小的屏幕尺寸上进入关闭 canvas 菜单。 https://get.foundation/sites/docs/off-canvas.html#in-canvas-to-off-canvas
有谁知道任何其他 React 插件也能做到这一点?
为清楚起见,我尝试这样做:
(桌面)
(手机)
(手机打开菜单)
- 使用 OffCanvas 创建一个 NavBar 组件,它在小断点处展开(展开 = 隐藏菜单图标)。
- 创建 Content2 组件并将其放在 in-canvas 屏幕和 OffCanvas 组件中。
- 使用媒体查询切换 Content2 组件在 in-canvas 屏幕
中的可见性
App.js:
<Stack className="min-vh-100">
<Navbar expand="sm" className="px-3 bg-primary">
<Navbar.Brand href="#home">React-Bootstrap</Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Offcanvas
id="offcanvasNavbar"
aria-labelledby="offcanvasNavbarLabel"
placement="end"
>
<Offcanvas.Header closeButton>
<Offcanvas.Title id="offcanvasNavbarLabel">
Offcanvas
</Offcanvas.Title>
</Offcanvas.Header>
<Offcanvas.Body>
<Content2 />
</Offcanvas.Body>
</Navbar.Offcanvas>
</Navbar>
<Stack direction="horizontal" className="flex-grow-1 align-items-stretch">
<div className="bg-info flex-fill w-50 d-flex justify-content-center align-items-center">
Content 1
</div>
<div className="content2 w-50">
<Content2 />
</div>
</Stack>
</Stack>
css:
.content2 {
display: block;
}
@media screen and (max-width: 576px) {
.content2 {
display: none;
}
}
我的项目正在使用 React Bootstrap,但是我正在努力寻找与 Foundation 的 in-canvas to off-canvas 功能等效的功能,其中一些内容是在页面的正常流动中可用,但随后在较小的屏幕尺寸上进入关闭 canvas 菜单。 https://get.foundation/sites/docs/off-canvas.html#in-canvas-to-off-canvas
有谁知道任何其他 React 插件也能做到这一点?
为清楚起见,我尝试这样做:
(桌面)
(手机打开菜单)
- 使用 OffCanvas 创建一个 NavBar 组件,它在小断点处展开(展开 = 隐藏菜单图标)。
- 创建 Content2 组件并将其放在 in-canvas 屏幕和 OffCanvas 组件中。
- 使用媒体查询切换 Content2 组件在 in-canvas 屏幕 中的可见性
App.js:
<Stack className="min-vh-100">
<Navbar expand="sm" className="px-3 bg-primary">
<Navbar.Brand href="#home">React-Bootstrap</Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Offcanvas
id="offcanvasNavbar"
aria-labelledby="offcanvasNavbarLabel"
placement="end"
>
<Offcanvas.Header closeButton>
<Offcanvas.Title id="offcanvasNavbarLabel">
Offcanvas
</Offcanvas.Title>
</Offcanvas.Header>
<Offcanvas.Body>
<Content2 />
</Offcanvas.Body>
</Navbar.Offcanvas>
</Navbar>
<Stack direction="horizontal" className="flex-grow-1 align-items-stretch">
<div className="bg-info flex-fill w-50 d-flex justify-content-center align-items-center">
Content 1
</div>
<div className="content2 w-50">
<Content2 />
</div>
</Stack>
</Stack>
css:
.content2 {
display: block;
}
@media screen and (max-width: 576px) {
.content2 {
display: none;
}
}