javascript 宽度和高度
宽度和高度
对于编写css代码时,宽度和高度就是width和height
但是在JavaScript中,还有其他的宽度和高度,比如offsetWidth,offsetHeight,clientX,clientY,clientWidth,clientHieght,pageX,pageY,scrollWidth,scrollHeight等等这些,用的地方很多,但很少明白它们之间的区别,以及它们主要用在什么地方。
下面我将详细地说明它们具体是做什么的,以及它们之间的区别。
width:设置元素的宽度,定义元素内容区域的宽度。另外,width设置100%和auto是有区别的。
设置为100%,是不包含margin-left和margin-right属性值的;
设置为auto,是包含margin-left和margin-right属性值的。width:auto;总是占据整行的。
height:设置元素的高度,定义元素内容区域的高度。另外,增加内边距,边框,外边距不会影响内容区域的尺寸,但会影响元素框的尺寸。
offsetWidth:(width+padding+border)对象整体的实际宽度,包含滚动条,会随对象的显示大小而变化
offsetHeight:(height+padding+border)当前对象的实际高度
clientWidth:对象的内容可视区域,不包括滚动条会随着对象的显示大小而变化
clientHeight:对象可见内容的高度,不包含滚动条,不包含边框
scrollWidth:对象实际内容的宽度,不包含边线,会随着对象的内容区域超过可视区后而变大
scrollHeight:对象的滚动宽度,不包含滚动条,不包含边框
IE6.0
clientWidth = width + padding
clientHeight = height +padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
情况1:
元素无内容或内容不超过可视区,滚动不出现或不可用的情况下,
scrollWidth=clientWidth,两者皆为内容可视区的宽度。
offsetWidth为元素的实际宽度。

情况2:
元素的内容超过可视区域,滚动条出现和可用的情况下。
scrollWidth>clientWidth,scrollWidth为实际内容的宽度,clientWidth是内容可视区域的宽度,offsetWidth是元素的实际宽度。

pageX:页面坐标的位置,属性表示鼠标光标在页面中的位置,因此坐标是从页面本身而非视口的左边和定边计算的。
pageY:页面的垂直坐标位置
在页面没有滚动的情况下,pageX和pageY的值与clientX和clientY的值相等。
IE8及之前的版本不支持事件对象上的页面坐标,不过使用客户区坐标和滚动信息可以计算出来。这时候需要用到document.body(混杂模式)和document.documentElement(标准模式)的scrollLeft和scrollTop属性。
clientX:事件属性返回当前事件被触发时鼠标指针指向对于浏览器页面的水平坐标,它们的值表示事件发生时鼠标指针

clientY:事件属性返回当前事件被触发时鼠标指针指向对于浏览器页面的垂直坐标
javascript 宽度和高度的更多相关文章
- JavaScript获取屏幕和页面的宽度和高度
JavaScript获取屏幕和页面的宽度和高度 1.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...
- Javascript获取图片原始宽度和高度的方法详解
前言 网上关于利用Javascript获取图片原始宽度和高度的方法有很多,本文将再次给大家谈谈这个问题,或许会对一些人能有所帮助. 方法详解 页面中的img元素,想要获取它的原始尺寸,以宽度为例,可能 ...
- jquery动态改变div宽度和高度
效果体验:http://keleyi.com/keleyi/phtml/jquery/23.htm 完整代码: <!DOCTYPE html PUBLIC "-//W3C//DTD X ...
- jquery尺寸:宽度与高度
width() 方法设置或返回元素的宽度(不包括内边距.边框或外边距). height() 方法设置或返回元素的高度(不包括内边距.边框或外边距). innerWidth() 方法返回元素的宽度(包括 ...
- 基于jQuery自适应宽度跟高度可自定义焦点图
基于jQuery自适应宽度跟高度可自定义焦点图.这是一款带左右箭头,缩略小图切换的jQuery相册代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <section cl ...
- 设定网页最小最大宽度和高度(兼容IE6)
http://www.cnblogs.com/double-bin/archive/2011/12/19/2293093.html /* 最小寬度 */ .min_width{min-width:30 ...
- php获取设备的宽度和高度
php获取设备的宽度和高度 如果前台没有传输当前请求的宽度和高度,我们有时候需要用php借助javascript获取屏幕的宽和高,以控制现实的样式. 代码如下: <?php /* * 获取设备宽 ...
- JS获取图片的原始宽度和高度
页面中的img元素,想要获取它的原始尺寸,以宽度为例,可能首先想到的是元素的innerWidth属性,或者jQuery中的width()方法.如下: <img id="img" ...
- 如何改变span元素的宽度与高度
内联元素:也称为行内元素,当多个行内元素连续排列时,他们会显示在一行里面. 内联元素的特性:本身是无法设置宽度和高度属性的,但是可以通过CSS样式来控制,达到我们想要的宽度和高度. span举例1: ...
随机推荐
- bzoj 1024 [SCOI2009]生日快乐——模拟
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1024 可以枚举这边放多少块.那边放多少块. 注意精度.不要每次用x*y/base算有多少块, ...
- C++函数部分总结
目录 为什么要使用函数 为什么要用函数重载 C++传参方式 特殊的函数--递归函数 为什么要使用函数 使用函数可以将一个比较复杂的程序系统的分为若干块简洁的模块,使程序更加清晰明了 比如,我们想要模拟 ...
- HDU 1724 自适应辛普森法
//很裸的积分题,直接上模板 #include<stdio.h> #include<math.h> int aa, bb; //函数 double F(double x){ - ...
- 获得CSM(Certified Scrum Master)-价值驱动交付。
2019年越来越多的企业开始实行敏捷转型,紧随时代潮流,学习最先进的科学管理方法,找到正确的人(团队),为企业交付高价值的产品服务. 导师Ethan ,培训的课程让人收益匪浅,活到老学到老,丰富的知识 ...
- 时间模块(import time)
时间戳时间: float数据类型,给机器用的 print(time.time()) =>1533713657.5423343 结构化时间: 上下两种格式的中间状态 能够通过属性名来获取对象中的值 ...
- small标签
<small> 标签将旁注 (side comments) 呈现为小型文本. 免责声明.注意事项.法律限制或版权声明的特征通常都是小型文本.小型文本有时也用于新闻来源.许可要求. 对于由 ...
- Android中View的layout mechanism(布局机制)
layout mechanism Android中View的layout mechanism主要分为两个阶段:measure阶段和layout阶段.layout mechanism按照一定的顺序进行, ...
- Directx11教程(51) 简单的billboard
原文:Directx11教程(51) 简单的billboard billboard称作公告板,通常用一个quad(四边形)表示[有的billboard用两个正交的quad表示],它的特点 ...
- SWF在线绘本批量制作高质量PDF的新方法(重点在批量制作)
SWF在线绘本批量制作高质量PDF的新方法(重点在批量制作) 2012-12-21 未来决定... http://www.ebama.net/thread-107643-1-1.html ...
- 简单利用XSS获取Cookie信息实例演示
简单利用XSS获取Cookie信息实例演示 首先要找到一个有XXS的站,这里就不整什么大站了,谷歌一下inurl:'Product.asp?BigClassName',搜出来的命中率也比较高.随便 ...