js获取屏幕高度宽度分辨率问题,当css3的@media查询写法不能解决问题时请看这个


当css的@media查询写法如下:

@media screen and (max-width: 1920px) {
    .feature-table {

      height: 980px;background-color: #AAAAAA;    

    }

}
@media screen and (max-width: 1809px) {
    .feature-table {
        height: 850px;background-color: #AAAAAA;
    }
}
@media screen and (max-width: 1559px) {
    .feature-table {
        height: 700px;background-color: #AAAAAA;
    }
}
@media screen and (max-width: 1360px) {
    .feature-table {
        height: 500px;background-color: #AAAAAA;
    }
}
@media screen and (max-width: 1309px) {
    .feature-table {
        height: 700px;background-color: #AAAAAA;
    }
}
@media screen and (max-width: 1059px) {
    .feature-table {
        height: 400px;background-color: #AAAAAA;
    }
}
@media screen and (max-width: 809px) {
    .feature-table {
        height: 300px;background-color: #AAAAAA;
    }
}

它根据屏幕分辨率的宽度去设置id为feature-table的元素的高度和背景色,但是存在如下情况1920*1200与1920*1080两种分辨率的宽度一样,高度不一样。从上面的代码走向来说,id为feature-table的元素的高度都会被设成980px,有可能在1920*1200分辨率下,该元素正好铺满,而1920*1080下溢出影响显示效果。

但是css3中好像没有@media screen and (max-height: 809px) {}的写法,因此可以借助js获取屏幕的高度,根据屏幕的高度去显示内容。代码如下

<!DOCTYPE html>

<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div  id="size">
asdasda
</div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
// 测试引用是否成功

$(document).ready(function(e) {

      var s = "";   

      s += " 网页可见区域宽:"+ document.body.clientWidth+"\n";    
      s += " 网页可见区域高:"+ document.body.clientHeight+"\n";    
      s += " 网页可见区域宽:"+ document.body.offsetWidth + " (包括边线和滚动条的宽)"+"\n";    
      s += " 网页可见区域高:"+ document.body.offsetHeight + " (包括边线的宽)"+"\n";    
      s += " 网页正文全文宽:"+ document.body.scrollWidth+"\n";    
      s += " 网页正文全文高:"+ document.body.scrollHeight+"\n";    
      s += " 网页被卷去的高(ff):"+ document.body.scrollTop+"\n";    
      s += " 网页被卷去的高(ie):"+ document.documentElement.scrollTop+"\n";    
      s += " 网页被卷去的左:"+ document.body.scrollLeft+"\n";    
      s += " 网页正文部分上:"+ window.screenTop+"\n";    
      s += " 网页正文部分左:"+ window.screenLeft+"\n";    
      s += " 屏幕分辨率的高:"+ window.screen.height+"\n";    
      s += " 屏幕分辨率的宽:"+ window.screen.width+"\n";    
      s += " 屏幕可用工作区高度:"+ window.screen.availHeight+"\n";    
      s += " 屏幕可用工作区宽度:"+ window.screen.availWidth+"\n";    
      s += " 你的屏幕设置是 "+ window.screen.colorDepth +" 位彩色"+"\n";    
      s += " 你的屏幕设置 "+ window.screen.deviceXDPI +" 像素/英寸"+"\n";    
      alert(s);
  //当屏幕高度为1200px时,增加背景色
  if(window.screen.height==1200){
$("#size").css("background-color","#121111");
}
  });
</script>
</body>

</html>

这中貌似很难用css写,最好就是js来获取高度后,动态修改其他元素、

发布了28 篇原创文章 · 获赞 4 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章