当前位置: 首页 > 知识库问答 >
问题:

高度:100%工作在Chrome但不在Safari[副本]

齐元章
2023-03-14

但是,它在Safari中并不起作用。但是如果我们将.handle-inner中的高度从100%更改为400px,我们将观察到拆分器(从上到下到400px)变得可拖动。这意味着height:100%在Safari中不起作用。

有没有人知道如何修改代码,使拆分器在Chrome和Safari中都能工作?

编辑1:

共有1个答案

燕寒
2023-03-14

您的flex容器(.flex-box)定义的高度为500px。

拆分器(.handle-inner)定义的高度为100%。

但是,存在于它们之间的.handle没有定义的高度。Safari认为这是一个缺失的环节,它认为这违反了规范,该规范本质上说:

此外,在body元素中,不仅有.flex-box元素,还有nav元素,其高度:250px。取决于浏览器如何处理溢出(250px+100%),这可能会导致splitter元素在屏幕外消失,这在Safari中就发生了。

要避免该问题,请对代码进行以下调整:

 * { box-sizing: border-box; }   /* include borders and padding in width
                                    and height calculations */

 .flex-box { height: calc(100% - 250px); } /* compensate for nav height */

修订的演示

 类似资料:
  • 我想有一个垂直的菜单,有一个特定的高度。 每个子级必须填充父级的高度并具有中间对齐的文本。 孩子的数量是随机的,所以我必须使用动态值。 Div包含随机数的子级(),这些子级总是必须填充父级的高度。为了实现这一点,我使用了FlexBox。 为了使链接中的文本对齐,我使用了技术。但是使用表格显示需要使用100%的高度。 我的问题是在webkit(Chrome)中不工作。 有解决此问题的方法吗? 或者是

  • 我有一个可以通过拖放排序的列表。它可以在桌面浏览器上完美工作,在Android系统上Chrome。然而,它在Safari和Chrome12.1.2iOS(苹果8)上根本不起作用。 请参阅下面的代码片段,也可以轻松地进行移动测试:https://codepen.io/Kelderic/pen/KJMRgb https://imgur.com/a/I8hzPxC(尺寸太大,无法直接嵌入) 为什么这在i

  • 问题内容: 我想要一个具有特定高度的垂直菜单。 每个孩子都必须填充父母的身高,并且中间对齐文本。 孩子的数量是随机的,因此我必须使用动态值。 Div 包含随机数量的子代(),这些子代始终必须填充父代的高度。为此,我使用了flexbox。 为了使文本中间对齐,我使用了技巧。但是使用表格显示需要使用高度100%。 我的问题是无法在webkit(Chrome)中使用。 有解决此问题的方法吗? 还是有一种

  • 我在Socket.io的nodejs服务器上遇到了一个与Socket.io相关的问题。问题是与socket.io在iOS8+中的IOS移动浏览器上不起作用。我已经寻找了它,并通过了一些解决方案,但没有奏效。以下是问题链接: https://github.com/automattic/socket.io/issues/976 http://www.codedisqus.com/7yzsqugqge/

  • 好的,所以我已经阅读了这个网站和其他多个网站上对这个问题和类似问题的每个答案,但是似乎都没有用。我有一个基本的网页,上面有一张地图。我的任务是在浏览器窗口中全屏制作地图,而不是在计算机屏幕上全屏。下面是我正在使用的代码片段。我把我的宽度设置为100%,效果很好。我也试着把我的高度设置为100%,但是当这种情况发生时,地图会从页面上消失。我还尝试将高度设置为自动,但这给了我与高度100%相同的结果。

  • 问题内容: 我有一个div,我要填充整个身体高度,而不要填充以像素为单位的设定值。但是我不能上班。 我要执行此操作的原因是,我的元素具有基于某些不同标准的动态高度,例如,标头的高度根据其可以包含的不同元素而变化。然后,内容div需要扩展以填充剩余的可用空间。 但是,div元素保持内容的高度-好像并不能将100%解释为body元素的高度。 我将不胜感激任何帮助或朝着正确方向的指点。 问题答案: 您需