reactjs - 在反应中制作响应式菜单
问题描述
我正在开发一个响应页面,当我在移动版本上看到它时,菜单组织都搞砸了。当我从 pc 版本更改为移动版本时,如何使菜单响应?
解决方案
Bootstrap通常用于在 Web 上构建响应式、移动优先的项目。React
您可以通过以下方式在项目中使用引导程序: npm i --save bootstrap
. 然后下载 Bootstrap 的依赖项:popper.js
, 和JQuery
. 下载完所有内容后,在您的 React 组件中,您可以使用className
属性将适当的 Bootstrap 类分配给组成组件的语义元素。
然而话虽如此,也许更简单的方法是使用React-Bootstrap,因为它是“对 React 友好的引导程序版本”。直接来自 React-Bootstrap 的文档:
" React bootstrap 取代了 Bootstrap javascript。每个组件都是作为真正的 React 组件从头开始构建的,没有像 jQuery 这样的不必要的依赖项。它在构建时考虑到了兼容性,我们拥抱我们的 bootstrap 核心并努力与世界上最大的 UI 生态系统兼容。 "
这是一个示例navbar,直接来自他们的文档,当设备的屏幕尺寸发生变化时,它会根据需要堆叠:
<Navbar bg="light" expand="lg">
<Navbar.Brand href="#home">React-Bootstrap</Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="mr-auto">
<Nav.Link href="#home">Home</Nav.Link>
<Nav.Link href="#link">Link</Nav.Link>
<NavDropdown title="Dropdown" id="basic-nav-dropdown">
<NavDropdown.Item href="#action/3.1">Action</NavDropdown.Item>
<NavDropdown.Item href="#action/3.2">Another action</NavDropdown.Item>
<NavDropdown.Item href="#action/3.3">Something</NavDropdown.Item>
<NavDropdown.Divider />
<NavDropdown.Item href="#action/3.4">Separated link</NavDropdown.Item>
</NavDropdown>
</Nav>
<Form inline>
<FormControl type="text" placeholder="Search" className="mr-sm-2" />
<Button variant="outline-success">Search</Button>
</Form>
</Navbar.Collapse>
</Navbar>;
通过放大和最小化浏览器窗口来测试它,以查看菜单如何随着不同的屏幕尺寸堆叠和变化。
希望这会有所帮助!
推荐阅读
- javascript - 如何仅打印日期而不是完整日期?
- php - ErrorException 未定义索引:HTTP_X_REQUESTED_WITH
- python - 如何将 rpy2.robjects.vectors.DataFrame 转换为 csv?
- javascript - 在数组数组中按 id 查找对象的索引
- git - 如何避免将文件夹推送到 git repo
- visual-studio-code - (vscode) 更改 Tomorrow Night 主题使用的字体之一?
- python - ValueError:检查目标时出错:预期 dense_3 具有 2 个维度。但我指定dense_3 有1维
- reactjs - 如何使用 Apollo Graphql 客户端和 React 解决“TypeError:无法读取未定义的属性“参数”?
- android - Kotlin 循环泛型
- python-3.x - 使用 Try 进行 Web 抓取:除了:在 For 循环中