8

我试图将 remodal 与 pickadate 一起使用,这样我就可以从模态中创建一个日期选择器和时间选择器。在第一次试用中,我发现日期选择器会被 remodal 隐藏,如下所示。

模态的 带有pickadate的模态,隐藏

为了克服这个问题,我.full-screen为我的 remodal 创建了一个类。

.remodal {
    &.full-screen {
        max-width: none;
        height: 100%;
        width: 100%;
        margin: 0 auto;
    }
}

然后它在 Chrome 中运行良好,如下所示:

全屏模式 带有 chrome 的全屏模式

然后我开始在我的 iOS 上测试这个网站,我发现覆盖层很乱。我认为它粘在活动输入元素的底部。如 iOS safari 和 iOS chrome 所示:

ios safari 中的pickatime ios chrome中的pickadate

通常我会在 MacOSX 中打开我的 Safari 并尝试修复 CSS。但是,当在 Safari 中加载同一页面时,会出现奇怪的严重性能问题:

  • 我什至无法加载开发者工具
  • Safari CPU 持续超过 100%
  • 加载模态大约需要 15 秒
  • 加载拾取数据大约需要 10 秒。

结果如下:

野生动物园

如果你想尝试,我已经暂时打开了这里的链接,点击绿色的动作按钮,模态应该加载。(先在 chrome 上尝试,然后在 safari 上尝试。)你会注意到不同之处。

4

1 回答 1

2

看起来您使用的是 Safari 6 或一些稍旧的版本?我目前没有该版本,但我相信我已经找到了解决您的一些问题的方法。

  1. .remodal-overlay, .remodal-wrapper您使用 -webkit-transform:translateZ(0px)时,将其删除。
  2. 移除body.remodal-is-active .remodal-webkit-transform: scale(1);
  3. .remodal.full-screen设置height100vhwidth到_100vw
  4. .remodal删除-webkit-transform: scale(0.95);时,也删除-webkit-transition: -webkit-transform 0.2s ease-out, opacity 0.2s ease-out;

现在你的定位应该更好了。但是一些性能问题仍然存在。

您的 CSS 和 JS 文件是连接在一起的,因此很难正确了解正在发生的事情,但我确实注意到了一些您可能想要研究的事情:

  • 与其创建两个时间选择器和两个日期选择器,不如只创建一个,并将其附加到当前聚焦的输入元素上。这应该消除浏览器的一些压力。对此有支持
  • 您是否尝试过包括legacy.jsfor pickadate.js
  • 即使在带有 Safari 8 的 2013 年 Mac 上,它有时也会不稳定。您可能有其他日期和时间选择器可以尝试吗?
于 2015-05-27T10:18:18.390 回答