js 获取屏幕各种宽高的方法(浏览器兼容)

获取屏幕各种宽高是JS中常见的需求之一。不同屏幕大小、分辨率、设备类型对于页面要展示的内容影响很大。下面是JS获取屏幕各种宽高的方法及浏览器兼容性的攻略。

获取屏幕分辨率

我们可以使用window.screen.widthwindow.screen.height获取屏幕分辨率,这两个属性返回的是数值型数据,单位是像素,例如:

console.log(window.screen.width); // 输出屏幕宽度像素数
console.log(window.screen.height); // 输出屏幕高度像素数

兼容性:IE4+、Chrome、Firefox、Safari、Opera。

获取屏幕可用窗口区域的宽高

window.screen对象的availWidthavailHeight属性分别用于获取(应用程序标准)窗口区域的可用宽度和可用高度,使用方式如下:

console.log(window.screen.availWidth); // 输出可用宽度像素数
console.log(window.screen.availHeight); // 输出可用高度像素数

兼容性:IE4+、Chrome、Firefox、Safari、Opera。

获取浏览器窗口宽高

下面的示例代码展示了如何获取浏览器窗口的宽度和高度。

function getWindowSize() {
  var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
  var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
  return {
    width: w,
    height: h
  };
}

这里我们使用window.innerWidthwindow.innerHeight获取浏览器窗口的宽度和高度。如果这两个属性的值为undefined,说明不支持innerWidthinnerHeight,此时我们可以使用document.documentElement.clientWidthdocument.documentElement.clientHeightdocument.body.clientWidthdocument.body.clientHeight,根据浏览器具体情况返回窗口宽度和高度。

兼容性:window.innerWidthwindow.innerHeight IE9+、Chrome、Firefox、Safari、Opera;其他方式的兼容性较好。

获取屏幕的物理宽高

下面这个示例展示了如何获取屏幕的物理宽和高。

function getScreenSize() {
  var w = screen.width * window.devicePixelRatio;
  var h = screen.height * window.devicePixelRatio;
  return {
    width: w,
    height: h
  };
}

这里我们通过screen.widthscreen.height获取屏幕的物理宽度和高度,然后乘以window.devicePixelRatio得到实际像素宽度和高度,返回值为一个对象,属性值分别为宽度和高度。

兼容性:IE不支持devicePixelRatio,其他浏览器兼容性较好。

综上所述,我们可以使用这些方法适配不同的场景,实现网页宽高动态适配。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 获取屏幕各种宽高的方法(浏览器兼容) - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 样式表达式实现交替显示table行颜色

    要实现交替显示table行颜色,可以使用样式表达式(CSS expression)。 样式表达式是一种JavaScript表达式,它可以在CSS规则中使用。它的语法类似于JavaScript,可以引用CSS属性值,计算表达式,调用函数等。 具体来说,我们可以在table的CSS规则中使用样式表达式,设置每行的背景颜色。假设我们要将表格的行背景颜色设置为相间的…

    css 2023年6月9日
    00
  • CSS 实现块级元素靠右的方法

    鉴于本题需要一定的代码演示,为了更好的阅读体验,本文的样式将采用markdown代码块格式,帮助读者更好地进行复制、粘贴。 使用float实现块级元素靠右 通过将元素的浮动方向设置为”right”,可以使这个元素从右向左浮动,达到将块级元素靠右的目的。 <div style="float: right; width: 200px; heigh…

    css 2023年6月9日
    00
  • CSS网页布局:div垂直居中的各种方法

    CSS 网页布局中,要求 div 元素实现垂直居中是一项非常常见的任务。为了实现这一目标,有多种 CSS 技术可以使用。本文将讲解几种主要的方法,并且提供两个有用的代码示例,以帮助您更好地理解。 1. 使用 display:flex 使用 display:flex 属性可以使一个或多个元素在一个容器中居中。以下是实现垂直居中的 flex 属性的 CSS: .…

    css 2023年6月10日
    00
  • 仿Word自动套用格式使用CSS设置表格样式实例

    那我就给您逐步讲解一下如何实现“仿Word自动套用格式使用CSS设置表格样式”的攻略。 一、设置表格样式 首先,在 \ 标签中添加样式表: <style> /* 表格样式 */ table { border-collapse: collapse; width: 100%; margin-top: 20px; margin-bottom: 20px…

    css 2023年6月9日
    00
  • yahoo开发的网页评分插件YSlow的评分规则

    YSlow是Yahoo开发的一款网页性能分析插件,它主要用于评估网页性能以及提供具体优化建议,包括缓存利用、JS和CSS的压缩、并发连接等方面。下面我们来详细讲解“YSlow评分规则”的完整攻略。 YSlow的评分规则 YSlow对网页性能评分基于34个规则进行评估,可以根据评分结果给出不同的建议,具体规则如下: 通过内容分发网络(CDN)提供静态资源 为每…

    css 2023年6月10日
    00
  • css3实现六边形边框的实例代码

    下面是css3实现六边形边框的攻略,分成以下几个部分: 1.初步准备 首先,我们需要定义一个六边形的容器(div): <div class="hexagon"></div> 然后,给这个容器定义一些基本样式: .hexagon { width: 120px; height: 100px; background-co…

    css 2023年6月10日
    00
  • 前端面试必备之CSS3的新特性

    我来讲解一下。 前端面试必备之CSS3的新特性 1. CSS3的属性选择器 在CSS3中,新增了一些属性选择器,让选择元素更加灵活方便。下面介绍两种常用的属性选择器: 1.1 属性存在选择器 语法:[attribute] 这个选择器可以匹配指定属性的元素。例如: input[type] 这段代码选择所有具有”type”属性的input元素。如果我们想匹配所有…

    css 2023年6月9日
    00
  • 用css实现的带阴影的表格效果的代码

    下面是实现带阴影的表格的步骤: 步骤一:准备HTML代码 首先,我们需要准备一个HTML的表格代码,可以使用以下代码作为示例: <table> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部