【发布时间】:2015-05-07 03:33:56
【问题描述】:
我已经建立了一个带有大背景图片的主页模板。以下 JQuery 检测视口高度并将带有内联 CSS 的 min-height 应用于 .background 类。
// Set viewport height on .background - https://j.eremy.net/set-element-height-to-viewport/
function setHeight() {
windowHeight = $(window).innerHeight();
$('.background').css('min-height', windowHeight);
};
setHeight();
$(window).resize(function() {
setHeight();
});
这就像一个魅力。但是,我有智能手机的问题。当我展开移动导航时,下面的标题不会向下移动。这是因为 JQuery 只在页面加载时检测高度。
有没有一种方法可以使 JQuery 动态化,以便检测扩展导航等变化?
【问题讨论】:
-
您的 jQuery 实际上已设置为在视口宽度/高度发生变化时重置
.background元素的高度,但在打开移动导航时您不会更改视口高度/宽度.在计算min-height时,您也没有考虑移动导航。另外,你不能用min-height:100%而不是JS吗?还有基于视口高度和宽度的 CSSvh和vw单位。 -
感谢您的反馈好友。我没有使用 min-height 因为这需要在旧版浏览器中工作。
-
什么?你的 JS 除了设置
min-height什么都不做。min-height支持回到 IE7 顺便说一句:caniuse.com/#search=min-height -
我需要支持 IE7 ;)
-
不客气。 caniuse.com 网站是一个很好的资源,可以了解不同浏览器所支持的内容。功能描述下方有一个“显示全部”按钮,将显示旧浏览器的支持。