css - 为什么当我点击这个 Material-UI Grid item 时它会移动?

标签 css reactjs flexbox material-ui grid-layout

我正在使用 Material UI 开发 React 应用程序。我在应用程序的一页上遇到问题。

该页面包含一些文本和一个按钮,它们彼此垂直对齐。它还包含第二段文本和第二个按钮,它们彼此垂直对齐并且最初是隐藏的。第一个按钮可用于显示第二段文本和第二个按钮。第二个按钮可用于隐藏第二段文本及其本身(即第二个按钮)。

这是一个指向页面截图的链接,其中显示了最初隐藏的内容(我还没有足够的 StackOverflow 代表点来嵌入图像)。

react-material-ui-app-page-screenshot

我遇到的问题是:

当我点击第一个按钮(即“SHOW”按钮),然后点击第二个按钮(即“HIDE”按钮),然后再次点击第一个按钮; 第一个按钮跳过页面。更具体地说,它的右边缘接触 <body> 的右边缘。元素,使其左边缘接触前一段文本的右边缘。

按钮跳转后,当我调整浏览器窗口大小时(例如,通过单击并拖动 Chrome 应用程序窗口),按钮会返回到其原始位置。

注意:跳转发生在 Chrome 中,但不会发生在 Firefox 中。

你们知道为什么会这样吗?

我在 CodeSandbox 上创建了这个现象的演示。这是该演示的链接:

最佳答案

仔细观察,这似乎与 display: flex; 上的 flex-wrap: wrap 有关。 flex 方向:列;

wrap={"nowrap"}

...修复它。

查看here .

很难说是不是bug。就列宽而言,我们对具有 flex-wrap:wrap 且没有设置 height 的 flex 列容器有什么期望?
因为正确的行为可能是尽可能地缩小列。

错误在于它在不同的上下文中呈现不同。无论正确的行为是什么,都应该是一致的。

关于css - 为什么当我点击这个 Material-UI Grid item 时它会移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58440743/

相关文章:

FlexBox 布局安卓。如何删除 View 之间的垂直间隙?

javascript - 在 React 中创建图形

css - 样式化组件中的最小和最大媒体查询

html - 背景封面仍然使图像太大

css - Sass 将多个 scss 文件转换为 css

javascript - 检查 `App`的渲染方法

html - 如何使用 Flexbox 制作四个基于视口(viewport)的盒子?

javascript - JavaScript 中的 If 语句执行 CSS 操作

html - 使用 float 时垂直堆叠 div

css - RMarkdown : how to rotate table column headers