检测是否支持position:fixed

不喜欢浏览器嗅探,模仿IE6的UA的浏览器太多了

 
   
/*
* 使用如下结构:
* <div style="position: absolute; top: 200px;"> <== outer
* <div style="position: fixed; top: 100px;"></div> <== inner
* </div>
*
* 如果浏览器支持fixed,由于fixed是相对于document定位的,因此无论body样式如何,top始终是100px
* 如果浏览器不支持fixed,被解释为static,则inner和top值无效,计算出来的inner的绝对top与outer相同
*/
var outer = document.createElement( ' div ' ),
inner
= document.createElement( ' div ' ),
result
= true ;

outer.style.position
= ' absolute ' ;
outer.style.top
= ' 200px ' ;

inner.style.position
= ' fixed ' ;
inner.style.top
= ' 100px ' ;

outer.appendChild(inner);
document.body.appendChild(outer);

if (inner.getBoundingClientRect &&  
inner.getBoundingClientRect().top == outer.getBoundingClientRect().top ) {
result
= false ;
}

转载于:https://www.cnblogs.com/GrayZhang/archive/2011/02/17/detect-position-fix.html

猜你喜欢

转载自blog.csdn.net/weixin_34160277/article/details/93272197