css - AppBar 与其他元素重叠

标签 css reactjs material-ui appbar

我开始使用 React/Material-UI,也是 CSS 等的新手... 我有一个带有 APPBar 的简单页面布局。不幸的是,此 AppBar 与本应位于其下方的元素重叠。

我找到了这个答案: AppBar Material UI questions

但这感觉完全不对。如果我的 AppBar 具有可变高度,具体取决于图标、显示模式等...怎么办?

我尝试创建一个垂直网格,将元素包装在不同的元素中,将顶部容器设为 flex 容器并使用 flex 设置,但似乎没有任何效果,应用栏始终位于文本之上。

代码很简单:

import React from 'react';
import { AppBar, Typography, Box } from '@material-ui/core';

function App() {
    return (
        <div>
            <AppBar>
                <Typography variant='h3'>
                    AppBar
                </Typography>
            </AppBar>
            <Box>
                <Typography variant='h1' style={{ border: '1px solid black' }}>
                    Hello
                </Typography>
            </Box>
        </div>
    )
}

export default App;

“你好”文本 block 只有一半可见:

enter image description here

最佳答案

发生这种情况是因为 MaterialUI 应用栏默认为 position="fixed" .这将它与标准 DOM 的布局分开,以允许内容在其下方滚动,但结果是页面上没有为其腾出空间。

您可以通过将其下方的所有内容包装在一个 div 中并指定足够的边距来解决此问题,或者通过更改 position <AppBar>的属性(property)所以它不再是"fixed" .在您的示例中,您也可以将样式应用于 <Box>如果那是 <AppBar> 下面的唯一内容.

例如

import React from 'react';
import { AppBar, Typography, Box } from '@material-ui/core';

function App() {
    return (
        <div>
            <AppBar>
                <Typography variant='h3'>
                    AppBar
                </Typography>
            </AppBar>
            <div style={{marginTop: 80}}>
                <Box>
                    <Typography variant='h1' style={{ border: '1px solid black' }}>
                        Hello
                    </Typography>
                </Box>
            </div>
        </div>
    )
}

export default App;

关于css - AppBar 与其他元素重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58720397/

相关文章:

css - material-ui 按钮覆盖模态窗口 react

reactjs - MuiThemeProvider 中的错误

html - CSS 淡入淡出图像

jquery - MS Edge Iframe CSS

javascript - 导致此未捕获错误 : Cannot find module "./users/UserSection.jsx" message? 的错误在哪里

javascript - 在 React 中使用 Ruby .erb 文件?

css - 如何在父元素 (div) 中水平排列元素(卡片)

html - href 中的 href 的解决方案?

html - 设置 <table> 大小的最佳做法是什么?

javascript - React 组件从 JSON 对象渲染选项卡中的动态内容