当前位置:首页 > 日记 > 正文

DOM元素的大小和位置

DOM元素的大小和位置
首先获取元素的CSS大小。

1。通过样式内联获取元素的大小。

复制代码代码如下所示:

VaR箱= document.getelementbyid('box '); / /元素;

box.style.width; / / 200px;

box.style.height; / / 200px;
样式:只有在CSS样式属性的宽度和高度中,样式才可以使用,如果有,如果不返回空访问;

2。通过计算获得元素的大小

复制代码代码如下所示:

VaR的风格= window.getcomputedstyle window.getcomputedstyle(箱、空):空| | box.currentstyle;

style.width; / / 200px;
通过计算元素的大小,不是内联或内联链接,它在计算结果之后返回;

如果自己设置了大小,它将返回元素本身的大小;如果没有设置,IE将返回默认大小,IE将返回自动;

三.元素的大小是由CSS规则(或规则)得到在css中定义的那样对象属性。

复制代码代码如下所示:

无功表=文档样式表{ 0 }; / /获得链接或风格;

var =规则(sheet.cssrules sheet.rules { 0 } | |); / /得到的第一条规则;

rule.style.width; / / 200px;
PS:CSS规则只能得到宽度和高度内联和链接的样式,而不可得的风格在线条、后计算。

总结:通过CSS获得元素大小的上述三种方法只能获得元素的CSS大小,但不能获得元素本身的实际大小,例如,添加内边缘/滚动条/边框等。

两个元素的实际大小
1.clientwidth和自己

这组属性可以获得元素的可视区域的大小,包括元素内容和内部边界所占据的空间大小。

box.clientwidth / / 200;

ps:返回元素的大小,但没有单位,默认单位是PX;

PS:对元件的实际尺寸,clientwidth和自己的理解如下:

1。元素增加边界,没有变化,200;

2。元素增加外边界,没有变化,200;

三.增加滚动条,最后的值=原来的大小-滚动条的大小;184;

4。增加内边距,最终值=原始大小+内边距大小;220;

如果ps没有设置任何CSS宽度和高度,则非IE将计算滚动条和内边界后计算的大小;IE返回0;

2.scrollwidth和scrollheight

这组属性可以在没有滚动条的情况下获得元素内容的总高度。

Box.scrollWidth;

返回元素大小,默认单位是PX;如果没有设置任何CSS的宽度和高度,它将计算宽度和高度;

3.offsetwidth和offsetheight

这组属性可以返回元素的实际尺寸,包括边境 /内边距和滚动条。

box.offsetwidth;200

ps:返回元素的大小,默认单位是PX;如果没有设置任何CSS的宽度和高度,它将得到计算的宽度和高度。

ps:理解元素的实际大小如下:

1。添加边框,最后的值=原来的大小+边框大小;220;

2。增加内边距,最终值=原始大小+内边距大小;220;

三.增加外部基础,不改变;

4。增加轧制带,不改变,不会减少。

通过ps获取元素大小一般是块级(块)元素,设置CSS元素更方便。

三获取元素的大小

1.clientleft和clienttop

这组属性可以访问元素左边框和边框大小;

box.clientleft; / /得到左边框的宽度;

2.offsetleft和offsettop(偏移)
这组属性可以获得与父元素相对应的当前元素边界边界位置;
box.offsetleft / / 50;
与当前最佳位置相对应的父元素的元素,将其设置为位置:绝对值;
它的位置ps:不添加边框和填充,而是根据累计添加边缘;

box.offsetparent; / /得到父元素;
/ / PS:offsetparent,如果父元素本身是非IE,回到身体的对象,即对象返回的HTML;
/ /如果两个嵌套的元素,如果父元素不使用定位位置:绝对的,然后offsetparent将返回一个身体或HTML对象;

/ /如果说很多层,外层已经定位,从网页上的位置获得一个任意元素,不能阻止厌倦Calais实现回;
箱。offsettop + box.offsetparent.offsettop; / /只有两层;
如果必须使用多个单词,循环或递归;
功能offsetleft(元){
VaR左= element.offsetleft; / /得到第一层的距离;
VaR母= element.offsetparent; / /先母元;
而(父母)!=)判断是否有父元素的一层;
左= parent.offsetleft; / /累计距离;
母= parent.offsetparent; / /父元素也回来了;
然后循环;
返回左边;获取最后的距离;
}

3.scrollTop and scrollLeft
这个属性可以通过一个组滚动隐藏区域的大小来获得,也可以设置为定位该区域;
box.scrolltop; / /得到滚动位置上面的内容;

将滚动条设置为滚动到初始位置;
功能scrollstart(元){
如果(element.scrolltop!= 0){
element.scrolltop = 0;
}
}
四getboundingclientrect()方法

这个方法返回一个包含四个属性的矩形对象:左/右/右/下;
每一面和代表元素的页面顶部和左边的距离;
VaR箱= document.getelementbyid('box);
警报(盒。getboundingclientrect)(前); / /距离以上的网页元素以上的距离;
警报(盒。getboundingclientrect)(右); / /正确的距离对页面元素的左侧;
警报(盒。getboundingclientrect)(。底部); / /距距离下面的页面元素;
警报(盒。getboundingclientrect)(左); / /左距离对页面元素的左侧;

/ /但在伊江,默认的坐标(2,2)计算得到的距离的两个像素比其他浏览器;
document.documentelement.clienttop;IE 0、IE 2;
document.documentelement.clientleft;IE 0、IE 2;
/ / getboundingclientrect(兼容)
功能getrect(元){
VaR矩形= element.getboundingclientrect();
var = document.documentelement.clienttop;
左= document.documentelement.clientleft VaR;
返回{
上图:rect.top-top,对页面元素/距离上缘(0-0和2-2);
底部:rect.bottom-top,
左:rect.left-left,左页面元素/左边缘(0-0和2-2);
右:rect.right-left
}
};
五总结

1。偏移(偏移尺寸):包括屏幕上元素所占据的所有可见空间;

该元素的可见的大小是由它的高度和宽度的确定,包括内部融资/滚动条和框架。

2。客户端区域大小(客户端维度):元素内容及其内部边界占用的空间大小;

三.滚动尺寸(滚动尺寸):包含滚动内容的元素的大小;

相关文章

美丽的帆船

美丽的帆船

帆船,美丽,电脑软件,本教程介绍了一个朋友到CDR绘制一个美丽的帆船的方法。这个教程很好。生产的帆船真漂亮,难度也不大。它适合初学者和中学学者学习和推荐它。让我们一起学习。 本教程是向大家介绍如何用CDR绘制一艘漂亮的帆船,希望大家喜…

PHP的pcntl多进程应用实例

PHP的pcntl多进程应用实例

应用实例,多进程,电脑软件,PHP,pcntl,本文阐述了PHP的pcntl多进程使用。分享给你供你参考。具体分析如下: PHP可以同时处理多个事务使用的pcntl系列函数在多个过程。例如,我需要从数据库中获取数据,80w做一系列的后续处理。此时,有一个单一的…

javascript字符串浏览器兼容性问题分析

javascript字符串浏览器兼容性问题分析

字符串,问题分析,浏览器兼容性,电脑软件,javascript,本文分析了javascript字符串浏览器的兼容性,供大家参考,具体分析如下: 首先看不兼容的写作,如果我想得到一些字符串。 复制代码代码如下:var str = 'aavvvcc; Console.info(STR { 0 }); 这种方法与…

js使用ajax动态地从xml文件中获取

js使用ajax动态地从xml文件中获取

获取数据,文件,动态,显示,电脑软件,本文演示了js使用Ajax动态地从XML文件中获取数据显示的方式,供大家参考: 下面的js代码通过Ajax动态地显示XML文件的内容到Web页面,而真正的页面不会刷新。 功能loadxmldoc(URL) { VaR技术; txt,X,XX,我; 如果(窗口…

美丽的CDR设计时尚海报春天的景色

美丽的CDR设计时尚海报春天的景色

景色,海报,春天,兴趣,美丽,本教程是美丽的CDR时尚设计海报,春天的风景引起人们的兴趣。方法介绍的朋友,教程出来的效果真的很漂亮,但是方法不难,新手可以来学习,推荐给朋友,可以来学习一下爱情。 本教程喜欢CDR学习者介绍美丽的CDR设计时尚海报教…

什么是pscs6没有3D功能没有一个立

什么是pscs6没有3D功能没有一个立

选择,3D,立方体,功能,电脑软件,什么是pscs6没有3D功能没有一个立方体的选择吗真正的photoshopcs6要花费很多钱,所以爱好本身是由百度的方法解决,但总有一些这样的功能。所以我们可以分享一个PS CS6扩展的三维立方体的选择没有。 真正的photo…

Javascript中字符串分区函数的分割用法示

Javascript中字符串分区函数的分割用法示

分割,字符串,函数,示例,电脑软件,本文介绍了Javascript中字符串分区函数的拆分用法,供大家参考: 首先,看看下面的代码: 你今天怎么样 (str.split document.write()+ ) (str.split document.write()+ ) (str.split document.write( 输出结果如下: 如何,是,你,做,今天…

PS图象处理软件简单的写作课粉笔

PS图象处理软件简单的写作课粉笔

图象,处理软件,简单,电脑软件,PS,本教程主要使用PS图象处理软件使粉笔教程简单。教程制作的文本很漂亮,制作也不是很难。让我们一起学习,就像你的朋友一样。 本教程主要使用PS图象处理软件使粉笔教程简单。教程生成的文本非常漂亮,很难制作。…

2015选择情感QQ个性签名

2015选择情感QQ个性签名

选择,个性签名,情感,电脑软件,QQ,我嘲笑我记忆中的毒液,我的眼睛模糊了。 请原谅我们用最伤人的话伤害了我们最关心的人。 我相信那个句子顺子说吻是一件非常恶心的事。 不要羡慕别人的幸福,可以向你展示。 有些人,只想念,不联系;只关心,不打扰。…

ps的几个简单步骤,使之成为GIF文字

ps的几个简单步骤,使之成为GIF文字

文字,动画效果,步骤,几个,使之,本教程是介绍使用ps的朋友的几个简单步骤,使之成为GIF文字动画教程比较简单,所产生的效果是秋天的感觉,推荐来了,希望对大家有所帮助。 秋天来了,今天我们推荐几个简单的步骤,使它成为PS教程教程的文字动画,效果很漂…

ai结合PS绘制可爱卡通女厨师头像教

ai结合PS绘制可爱卡通女厨师头像教

教程,绘制,厨师,头像,卡通,本教程是向朋友介绍使用ai和PS绘制一个可爱的卡通女厨师的头部形象,这仍然是非常美丽的。但是,这是要求学习者有一定的绘画功能。建议你最喜欢的朋友一起学习一起工作。 今天,我们把ai和PS结合在一起,画了一个可爱的…

jQuery选择器源码解读(七):elementmat

jQuery选择器源码解读(七):elementmat

选择器,源码解读,功能,电脑软件,jQuery,读取编译执行过程的顺利,我们首先需要弄清楚的功能和关键变量和各子程序的功能。我将解释的编译码jquery-1.10.2版本一个接一个,我希望我可以帮助你。 ElementMatcher(匹配) 1。源代码 复制代码代码如…