在 JavaScript 中,使用元素的 offsetWidth 和 offsetHeight 属性可以分别获取元素的包含边框的宽度和高度;而 clientWidth 和 clientHeight 属性则可以分别获取元素的不包含边框的宽度和高度。
这些属性值包含的内容如下:
在实际应用中,经常需要让一个元素在视窗中居中显示,此时需要确定元素的定位 left 和 top 属性值,这两个值可使用下面的公式来确定:
其中,可视区域宽和高又可以使用以下格式的代码来获取:
元素在一个视窗中居中显示的具体代码请参见例 1。
【例 1】设置元素在视窗中居中显示。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>设置元素在视窗中居中显示</title>
<style>
#div1{width:100px;height:100px;background:red;border:10px solid #00BFFF;
position:absolute;}
</style>
<body>
<div id="div1">
<script>
var oDiv = document.getElementById('div1');
var clientW = document.documentElement.clientWidth;
var clientH = document.documentElement.clientHeight;
var divW = oDiv.offsetWidth;
var divH = oDiv.offsetHeight;
oDiv.style.left = (clientW-divW)/2+'px';
oDiv.style.top = (clientH-divH)/2+'px';
</script>
</body>
</html>
上述代码在 Chrome 浏览器中的运行结果如图 1 所示。