URL 栏调整大小

 

David 是 Web Fundamentals的贡献者

从 56 版开始,Android 版 Chrome 中 URL 栏的大小调整行为发生了变化。以下是您应该了解的内容:

以视口单位(即vh)定义的长度不会随着 URL 栏的显示或隐藏而调整大小。相反,vh单位的大小将与视口高度一致,就好像 URL 栏总是隐藏一样。也就是说,vh单位将被调整为“最大可能的视口”。这意味着100vh将大于显示 URL 栏时的可见高度。

初始包含块 (ICB) 是在相对于其父元素调整元素大小时使用的根包含块。例如,给<html> 元素一个样式width: 100%; height: 100%将使它的大小与 ICB 相同。通过此更改,当 URL 栏隐藏时,ICB 将不会调整大小。相反,它将保持相同的高度,就好像 URL 栏始终显示一样(“最小可能的视口”)。这意味着当 URL 栏隐藏时,大小为 ICB 高度的元素不会完全填充可见高度。

上述更改有一个例外,那就是对于 position: fixed. 他们的行为保持不变。也就是说,position: fixed包含块为 ICB的元素将响应 URL 栏的显示或隐藏而调整大小。例如,如果它的高度为100%,它将始终准确地填充可见高度,无论 URL 栏是否显示。与vh长度类似, 考虑到 URL 栏位置,它们也会调整大小以匹配可见高度。

这种变化有几个原因:

  • vh手机上的可用单位。在此之前,使用vh 单位意味着每次用户更改滚动方向时页面都会重排。

  • 改进了用户体验。如果页面在用户阅读时重排,他们可能会丢失他们在文档中的相对位置。这令人沮丧,但也会导致额外的处理器使用和电池消耗来重新布局和重新绘制页面。

  • 改进了与 iOS 上的 Safari 的互操作性。新模型应该与 Safari 的行为方式相匹配,让 Web 开发人员的工作更轻松。使vh单元尽可能大而 ICB 尽可能最小的不直观选择是匹配 Safari 的行为。

对于 URL 栏锁定为隐藏状态的全屏场景,ICB 将使用全屏高度。这与上面的定义一致,因为“最小可能的视口”将是完整的视口,因为 URL 栏不会在滚动时显示。

演示

  • 这是一个演示。在页面右侧的四个酒吧的所有可能的组合99%, 99vhposition:fixedposition:absolute提供一个可滚动页面上。隐藏 URL 栏显示它如何影响每个。调整大小事件打印在页面下方。

支持

  • Android 上的 Chrome 56。

        原文https://developers.google.com/web/updates/2016/12/url-bar-resizingicon-default.png?t=LA92https://developers.google.com/web/updates/2016/12/url-bar-resizing

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值