有人知道是否有针对 Safari vh 规则的修复程序吗?
#what{
min-height:70vh;
}
在所有浏览器中一切正常,但仅在 Safari 中无法识别?是否有针对 safari 的修复,我们可以在 css 中使用 VH 规则?
有人知道是否有针对 Safari vh 规则的修复程序吗?
#what{
min-height:70vh;
}
在所有浏览器中一切正常,但仅在 Safari 中无法识别?是否有针对 safari 的修复,我们可以在 css 中使用 VH 规则?
在这个 JavaScript 中使用 rem 而不是 Vw/Vh。“运行代码片段”可能会造成混淆,导致其窗口通过缩放“调整大小”。要对此进行测试,只需将此代码复制到某个 html 文件中并在 Safari 和其他浏览器中运行它(或参见“整页”)。
<!DOCTYPE html>
<head>
<script language="javascript" type="text/javascript">
(function (doc, win) {
var docEl = doc.documentElement,
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize = clientWidth + 'px';
docEl.style.display = "none";
docEl.clientWidth; // Force relayout - important to new Android devices
docEl.style.display = "";
};
// Abort if browser does not support addEventListener
if (!doc.addEventListener) return;
// Test rem support
var div = doc.createElement('div');
div.setAttribute('style', 'font-size: 1rem');
// Abort if browser does not recognize rem
if (div.style.fontSize != "1rem") return;
win.addEventListener('resize', recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);
</script>
<style>
@charset "utf-8";
*{padding: 0;margin: 0;}
div {position:fixed;width:40%;height:30%;background-color:yellow;color:blue;font-size:0.02rem;}
</style>
</head>
<body>
<div>in this case 0.01 rem == 1vw . You need to remove body margins.</div>
</body>
</html>
有关更多解释,请参阅我发现的这篇文章。 http://css-tricks.com/theres-more-to-the-css-rem-unit-than-font-sizing
根据您的代码,您可以使用此技巧:
在 vh 值前面使用 % 或 em 或像素,以便不支持它的浏览器获取该值:
.this{
width: 100%;
width: 100vw;
height: 100%;
height: 100vh;
}