gpt4 book ai didi

html - Mobile Safari iPad 中视频元素的垂直居中位置为 "full screen"

转载 作者:行者123 更新时间:2023-11-28 08:02:00 29 4
gpt4 key购买 nike

我最近遇到了一些麻烦,我网站上的视频元素无法仅在“全屏模式”(即横跨整个窗口的 div)的 iPad (iOS 8.3) 移动 Safari 上垂直居中。

在多次试验和错误中,我遇到了一种奇怪的行为。当绝对定位的视频被拉伸(stretch)到全高和全宽并且设置了 margin auto 时,视频元素垂直居中:

编辑:请注意,您需要减小 fiddle 中结果部分的宽度才能查看效果。

Fiddle

HTML

<div class="hello">
<video src="foo"></video>
</div>

CSS

.hello {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
video {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
margin: auto;
}

这适用于移动版 Safari,似乎对 Chrome Android 或 Firefox 没有任何不利影响。它在桌面浏览器上的行为也符合预期。当我完全拉伸(stretch)视频时,这个边距如何使视频垂直居中?

最佳答案

如果没有实际的视频源,您的 fiddle 将无法工作。我无法重现您描述的由边距触发的行为。但我确实发现你质疑我自己在 iOS 上对垂直居中视频的搜索。也许我的结论对你有帮助:

当前的 iOS 浏览器将在视频底部留出空白空间(假设视频元素高于渲染视频所需的高度)。只要底部的空白区域小于 native 控件占用的大小,它就会保留下来。这背后的明显想法是,如果可能的话,不要在视频前面渲染控件,而是在视频下方渲染控件。

问题来了:即使您停用控件/未使用“控件”属性激活它们,也会发生这种情况。我能想到的唯一解决方法是获取视频的固有宽度和高度并手动计算当前的实际视频高度。然后您可以继续设置视频节点的高度,并根据您的情况设置顶部边距以使其在容器内垂直居中。

希望这对您有所帮助。

关于html - Mobile Safari iPad 中视频元素的垂直居中位置为 "full screen",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29708902/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com