在JavaScript中获取浏览器窗口的宽度可以通过多种方式实现,以下是一些常用的方法:
window.innerWidth
和 window.innerHeight
这两个属性可以获取浏览器窗口的视口(viewport)宽度和高度,包括滚动条。
console.log(window.innerWidth); // 获取浏览器窗口的宽度
console.log(window.innerHeight); // 获取浏览器窗口的高度
document.documentElement.clientWidth
和 document.documentElement.clientHeight
这两个属性可以获取文档元素的宽度和高度,不包括滚动条。
console.log(document.documentElement.clientWidth); // 获取文档元素的宽度
console.log(document.documentElement.clientHeight); // 获取文档元素的高度
document.body.clientWidth
和 document.body.clientHeight
这两个属性可以获取<body>
元素的宽度和高度,不包括滚动条。
console.log(document.body.clientWidth); // 获取<body>元素的宽度
console.log(document.body.clientHeight); // 获取<body>元素的高度
window.screen.width
和 window.screen.height
这两个属性可以获取用户屏幕的宽度和高度,而不是浏览器窗口的尺寸。
console.log(window.screen.width); // 获取屏幕的宽度
console.log(window.screen.height); // 获取屏幕的高度
window.innerWidth
和 window.innerHeight
包括滚动条的宽度,而 document.documentElement.clientWidth
和 document.documentElement.clientHeight
不包括滚动条。document.body.clientWidth
和 document.body.clientHeight
可能会返回不准确的结果,特别是在页面加载初期。以下是一个简单的示例,展示如何根据浏览器窗口的宽度调整页面布局:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Window Width Example</title>
<style>
.box {
width: 100%;
height: 100px;
background-color: lightblue;
}
</style>
</head>
<body>
<div class="box" id="box"></div>
<script>
function adjustBoxWidth() {
const box = document.getElementById('box');
const width = window.innerWidth;
box.style.backgroundColor = width < 600 ? 'lightcoral' : 'lightblue';
}
window.addEventListener('resize', adjustBoxWidth);
window.addEventListener('load', adjustBoxWidth);
</script>
</body>
</html>
在这个示例中,当浏览器窗口的宽度小于600像素时,.box
元素的背景颜色会变为浅珊瑚色,否则为浅蓝色。这个示例展示了如何使用window.innerWidth
来动态调整页面元素的样式。
领取专属 10元无门槛券
手把手带您无忧上云