小编Bjö*_*rén的帖子

使用CSS不平等地居中DIV

我正在使用flexbox将DIV居中放置在另一个DIV中。想一想需要时会在屏幕中央弹出的对话窗口。

它可以正常工作,但是如果对话框上方和下方的空间不完全相等,则剩余空间的40%会位于对话框上方和下方,而剩下的60%会看起来更好。之所以变得棘手,是因为对话框的高度随内部文本的数量而变化。

因此,例如,如果浏览器高度为1000 px,对话框窗口高度为400 px,我希望剩余的垂直空间(600 px)在对话框上方240 px,在对话框下方360 px。我可以用Javascript来做,但是我很好奇CSS是否有一些巧妙的方法。我尝试在#dialogBox DIV中添加底部边距,但是当对话框高度接近浏览器高度时,此方法不起作用。

#dialogBoxPanel
  {
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  left:0px;
  top:0px;
  width:100%;
  height:100%;
}
#dialogBox
  {
  width:350px;
}
Run Code Online (Sandbox Code Playgroud)
<div id="dialogBoxPanel">
  <div id="dialogBox">Text</div>
</div>
Run Code Online (Sandbox Code Playgroud)

html css centering flexbox

18
推荐指数
3
解决办法
436
查看次数

PWA 持久存储最佳实践

PWA 以持久方式存储用户生成的数据的最佳实践是什么?

我的应用程序允许用户生成最多 5 MB 的数据,这些数据需要在本地存储和访问,但也会定期备份,以防设备损坏/丢失或用户意外擦除数据。

如果我使用 FileSystemAPI 或 IndexedDB,是否可以利用一些自动备份系统?例如,“应用程序自动备份”可以在 Google Drive 上自动备份常规 Android 应用程序。如果有类似的 PWA 可用的东西那就太好了。

从用户体验上来说,FileSystemAPI 效果好吗?我读到,即使 PWA 安装到主屏幕,用户也必须在每个会话中授予权限,这会很不方便。

data-storage persistent-storage progressive-web-apps

7
推荐指数
1
解决办法
3659
查看次数

如何在 iOS 上已安装的 PWA 和 Safari PWA 之间共享数据?

当用户从 iOS 开始屏幕(已安装的 PWA)启动我的 PWA 时,它会访问一个存储实例(IndexedDB、cookie 等)。当他通过 Safari 启动同一个 PWA 时,它会访问不同的存储实例。这是非常不方便的,因为从用户的角度来看,他打开同一个应用程序,但他看不到相同的数据。

当另一个 PWA 进行更改时,如何确保每个 PWA 的数据存储都得到更新?

让事情变得更复杂的是,我不能依赖互联网连接,因此我无法将数据与服务器同步。我不能强迫用户只从开始屏幕启动 PWA。而且我无法使用新的文件系统访问 API,因为它会通过文件访问提示来烦扰用户。

javascript safari ios progressive-web-apps

6
推荐指数
0
解决办法
417
查看次数