反应引导程序或其他库,用于ichosvas of-canvas解决方案

发布于 2025-01-20 13:57:38 字数 982 浏览 3 评论 0原文

我的项目是使用React Bootstrap,但是我很难找到与Foundation的ichosvas到Off-Canvas功能相等的,这些内容在页面的正常流程中可用,但随后进入了Off Canvas菜单。较小的屏幕尺寸。 https://get.foundation/sites/sites/ docs/off-canvas.html#canvas-to-to-off-canvas

有人知道还有其他能够做到这一点的其他React插件吗?

为了清楚起见,我正在尝试这样做:(

桌面) (移动)

“在此处输入图像描述”

(移动打开菜单)

”在此处输入图像说明”

My project is using React Bootstrap, however I'm struggling to find the equivalent to Foundation's in-canvas to off-canvas feature, where some piece of content is available in the normal flow of the page but then goes into an off canvas menu on smaller screen sizes. https://get.foundation/sites/docs/off-canvas.html#in-canvas-to-off-canvas

Does anyone know of any other React plugins that would be able to do the same?

For clarity, I'm trying to do this:

(Desktop)
enter image description here
(Mobile)

enter image description here

(Mobile opened menu)

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深海里的那抹蓝 2025-01-27 13:57:38
  • 使用 OffCanvas 创建一个 NavBar 组件,该组件会在小断点上展开(展开 = 隐藏菜单图标)。
  • 创建 Content2 组件并将其放在画布内屏幕和 OffCanvas 组件中。
  • 使用媒体查询切换画布屏幕中的 Content2 组件的可见性

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;
  }
}

https://codesandbox.io/s/fancy-snow-w2ug5w

  • Create a NavBar component with OffCanvas, which expands on small breakpoint (expands = hides menu icon).
  • Create Content2 component and put it on your in-canvas screen and in the OffCanvas component.
  • Use media query to toggle visibility of Content2 component in your in-canvas scree

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;
  }
}

https://codesandbox.io/s/fancy-snow-w2ug5w

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文