我使用的是CSS3属性,例如VW VH。我需要知道旧的移动浏览器的影响,它不支持CSS3。 我用来设置div的高度。
var input_focus = false;
答案 0 :(得分:2)
我知道你的痛苦。
在不支持vw
或vh
的移动浏览器上,属性会被忽略,默认情况下继承块元素' height
上的宽度和折叠,以及width
和height
的内联块元素都设置为折叠。
对于vw
单位,为了兼容性,您可以轻松地将它们换出%值,但百分比高度单位从不按预期工作。
在PhoneGap,Cordova,甚至是针对Android用户的网站上,我都使用了" polyfill" (使得不受支持的样式和#34;工作"的代码)与我的vw
和vh
单元一起支持Android 4.3 Jellybean及以下版本:
function orient() {
var ua = navigator.userAgent;
if(ua.indexOf('droid 4.3') == -1 && ua.indexOf('droid 4.2') == -1 && ua.indexOf('droid 4.1') == -1 && ua.indexOf('droid 4.0') == -1 && ua.indexOf('droid 2.') == -1) {
//This version of Android supports vw and vh units!
} else {
//Polyfill!
var w = window.innerWidth, h = window.innerHeight;
//Examples:
elem.style.width = (w*.94)+'px'; //width: 94vw
elem.style.height = (h*.94)+'px'; //height: 94vh
elem2.style.height = (w*.5)+'px'; //height: 50vw (Opposite viewport unit! % doesn't support that!)
}
}
window.onresize = function() { window.setTimeout(orient,50); }
window.onresize();
我喜欢Javascript,因为它不会使我的CSS代码混乱,并且如果浏览器兼容则不会执行。好于百分比单位,对吧?
希望这个(或其中的一个版本)可以帮助您完成项目!