【问题标题】:React Project: Safari seems to be rendering, but not painting elements?React Project:Safari 似乎在渲染,但不是在绘制元素?
【发布时间】:2020-09-29 16:47:04
【问题描述】:

我正在呈现一个卡片列表,每个卡片显示一些数据以及三行,允许用户导航到该卡片的特定展开部分。

出于某种原因,Safari 似乎在为每张卡片渲染三个导航行,但它们是白色且透明的。我知道它们已呈现,因为我仍然可以单击该行所在的空间并且导航按预期工作。它只是看不见的。

使用 Chrome 时不会出现此问题。它只发生在 Safari 上:无论是在我的浏览器桌面上还是在 iOS 上运行 Safari 时。控制台中没有错误。

另一个奇怪的难题是,当我在 Safari 中检查元素时,它们会出现在屏幕上!这是我为展示这种行为而拍摄的视频的link

有什么想法吗???

【问题讨论】:

  • 如果您只在 Safari 而不是在其他浏览器上看到这个,那么您已经有了答案。它是 Safari 特定的问题,修复它将归结为研究 Safari 特定的 CSS 问题,并使用引导程序或 CSS 或主题进行修复(如果您正在使用它)。请记住,每个浏览器都以自己的方式实现 CSS。根据我自己的经验,我发现 Safari 在标准和格式方面要严格得多,而且很多时候,很多 CSS 的东西都不能很好地工作。这只是我的经验,而不是基于科学/技术的想法。
  • 谢谢,杰。经过昨天的大量挖掘,我终于发现了几个类似的问题。 cmets的指示与您相同。基本上我需要删除 CSS,直到找到问题。

标签: reactjs safari rendering mobile-safari


【解决方案1】:

以防万一有人偶然发现这一点,我接受了 Jay 的建议并开始修剪 CSS。最终我意识到“更新行”同时设置了 display:“flex”和 position:“relative”。一旦我删除了位置:“相对”,它一开始并没有做任何事情,但肯定是被错误地添加了,Safari 完美地呈现了它。

TLDR:对于 Safari,display: "flex" 和 position: "relative" 在同一个 div 上会产生渲染问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-04
    • 2018-01-15
    • 2018-02-25
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多