摘要:中的盒子模型通過(guò)中提供一系列的方法和屬性獲取頁(yè)面中元素的樣式信息值系列內(nèi)容的寬高是給元素定義的這兩個(gè)樣式。
1、js中的盒子模型
2、client系列通過(guò)js中提供一系列的方法和屬性獲取頁(yè)面中元素的樣式信息值;
內(nèi)容的寬高:是給元素定義的width/height這兩個(gè)樣式。如果沒(méi)有設(shè)置height值,容器的高度會(huì)根據(jù)里面內(nèi)容自己適應(yīng),這樣獲取的值就是真實(shí)的內(nèi)容的高;如果設(shè)置固定的高度,不管內(nèi)容是多少,內(nèi)容的高度指的都是設(shè)定的這個(gè)值;
真實(shí)內(nèi)容的寬高:如果設(shè)置的height是200px,如果內(nèi)容有溢出,那么真實(shí)內(nèi)容的高度是把溢出內(nèi)容的高度也要加起來(lái);
clientHeight || clientWidth //內(nèi)容的寬度/高度+左右/上下填充(padding) clientLeft || clientTop //左邊框/上邊框的高度3、offset系列
offsetHeight || offsetWidth //clientHeight/clientWidth + 左右/上下邊框(和內(nèi)容是否溢出沒(méi)有關(guān)系) offsetParent //當(dāng)前元素的父級(jí)參照物 offsetLeft || offsetTop //當(dāng)前元素的外邊框距離父級(jí)參照物的內(nèi)邊框的偏移量
計(jì)算元素距離body的上部和左部的距離
function offset(el) { var oLeft = el.offsetLeft, oTop = el.offsetTop, oParent = el.offsetParent; while(oParent) { //ie8下不計(jì)算邊框 if (navigator.userAgent.indexOf("MSIE 8.0") === -1) { oLeft += oParent.clientLeft; oTop += oParent.clientTop; } oLeft += oParent.offsetLeft; oTop += oParent.offsetTop; oParent = oParent.offsetParent; } return {"left": oLeft,"top": oTop} } offset(box2);//{left: 239, top: 218}
注:在標(biāo)準(zhǔn)的IE8瀏覽器中,我們使用offsetLeft/offsetTop其實(shí)是把父級(jí)參照物的邊框已經(jīng)算在內(nèi),在IE8瀏覽器下就不需要多帶帶加邊框了;
4、scroll系列scrollHeight || scrollWidth //真實(shí)內(nèi)容的高度/寬度(包含溢出)+ 左填充/上填充 //注:獲取到的結(jié)果都是約等于的值,因?yàn)橥粋€(gè)瀏覽器是否設(shè)置overflow=hidden對(duì)于最終的結(jié)果是有影響的;在不同的瀏覽器中我們獲取的結(jié)果也是不同的。 scrollTop || scrollLeft //滾動(dòng)條卷去的高度5、操作瀏覽器本身盒子模型信息
clientWidth/clientHeight是當(dāng)前瀏覽器可視窗口的寬度和高度
scrollWidth/scrollHeight是當(dāng)前頁(yè)面的真實(shí)寬度和高度(所有屏的高度和寬度的和:是一個(gè)約等于值)
要兼容瀏覽器獲取瀏覽器盒子模型信息我們需要這樣寫(xiě)
document.documentElement[attr] || document.body[attr]; //documentElement在前body在后 //獲取 document.documentElement.clientWidth || document.body.clientWidth; //設(shè)置 document.documentElement.scrollTop = 0; document.body.scrollTop = 0;6、獲取瀏覽器盒子模型信息的兼容方法
function win(attr,value) { //獲取值 if(typeof value === "undefined") { return document.documentElement[attr] || document.body[attr]; } document.documentElement[attr] = value; document.body[attr] = value; } win("clientWidth"); win("scrollTop",0);
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/82718.html
摘要:每個(gè)列表項(xiàng)始于標(biāo)簽。由動(dòng)作屬性定義的這個(gè)文件通常會(huì)對(duì)接收到的輸入數(shù)據(jù)進(jìn)行相關(guān)的處理。標(biāo)簽的屬性應(yīng)當(dāng)與相關(guān)元素的屬性相同。姓名性別姓名性別單元格標(biāo)簽可以定義表格中的一個(gè)單元格,表示一個(gè)單元格。 第一部分 HTML 第一章 職業(yè)規(guī)劃和前景 職業(yè)方向規(guī)劃定位: web前端開(kāi)發(fā)工程師 web網(wǎng)站架構(gòu)師 自己創(chuàng)業(yè) 轉(zhuǎn)崗管理或其他 web前端開(kāi)發(fā)的前景展望: 未來(lái)IT行業(yè)企業(yè)需求...
摘要:每個(gè)列表項(xiàng)始于標(biāo)簽。由動(dòng)作屬性定義的這個(gè)文件通常會(huì)對(duì)接收到的輸入數(shù)據(jù)進(jìn)行相關(guān)的處理。標(biāo)簽的屬性應(yīng)當(dāng)與相關(guān)元素的屬性相同。姓名性別姓名性別單元格標(biāo)簽可以定義表格中的一個(gè)單元格,表示一個(gè)單元格。 第一部分 HTML 第一章 職業(yè)規(guī)劃和前景 職業(yè)方向規(guī)劃定位: web前端開(kāi)發(fā)工程師 web網(wǎng)站架構(gòu)師 自己創(chuàng)業(yè) 轉(zhuǎn)崗管理或其他 web前端開(kāi)發(fā)的前景展望: 未來(lái)IT行業(yè)企業(yè)需求...
摘要:盒模型的簡(jiǎn)介本文簡(jiǎn)單的總結(jié)了一些基本概念,知識(shí)點(diǎn)以及細(xì)節(jié)問(wèn)題作為前端人員,盒模型是最基礎(chǔ)的知識(shí)點(diǎn),在排版與布局時(shí)不可避免與盒模型打交道。 1. 盒模型的簡(jiǎn)介 本文簡(jiǎn)單的總結(jié)了一些基本概念,知識(shí)點(diǎn)以及細(xì)節(jié)問(wèn)題 作為前端人員,盒模型是最基礎(chǔ)的知識(shí)點(diǎn),在排版與布局時(shí)不可避免與盒模型打交道。 在我們編寫(xiě)HTML時(shí),網(wǎng)頁(yè)上的內(nèi)容幾乎都是被包在一個(gè)個(gè)元素(當(dāng)然也可以叫做標(biāo)簽)中的,最常見(jiàn)的有div...
摘要:以下知識(shí)點(diǎn)是前輩師兄總結(jié)基礎(chǔ)語(yǔ)義化標(biāo)簽引進(jìn)了一些新的標(biāo)簽,特別注意等,注意的標(biāo)題結(jié)構(gòu)理解瀏覽器解析的過(guò)程,理解的樹(shù)形結(jié)構(gòu),及相應(yīng)理解標(biāo)簽在各個(gè)瀏覽器上的默認(rèn)樣式代理樣式,理解中的重置樣式表的概念理解等功能性標(biāo)簽理解標(biāo)簽,理解文件提交過(guò)程推薦 以下知識(shí)點(diǎn)是前輩師兄總結(jié) 1、HTML/HTML5基礎(chǔ): 1.0、語(yǔ)義化H5標(biāo)簽1.1、H5引進(jìn)了一些新的標(biāo)簽,特別注意article...
摘要:以下知識(shí)點(diǎn)是前輩師兄總結(jié)基礎(chǔ)語(yǔ)義化標(biāo)簽引進(jìn)了一些新的標(biāo)簽,特別注意等,注意的標(biāo)題結(jié)構(gòu)理解瀏覽器解析的過(guò)程,理解的樹(shù)形結(jié)構(gòu),及相應(yīng)理解標(biāo)簽在各個(gè)瀏覽器上的默認(rèn)樣式代理樣式,理解中的重置樣式表的概念理解等功能性標(biāo)簽理解標(biāo)簽,理解文件提交過(guò)程推薦 以下知識(shí)點(diǎn)是前輩師兄總結(jié) 1、HTML/HTML5基礎(chǔ): 1.0、語(yǔ)義化H5標(biāo)簽1.1、H5引進(jìn)了一些新的標(biāo)簽,特別注意article...
閱讀 3094·2021-09-22 15:54
閱讀 3981·2021-09-09 11:34
閱讀 1767·2019-08-30 12:48
閱讀 1161·2019-08-30 11:18
閱讀 3431·2019-08-26 11:48
閱讀 913·2019-08-23 17:50
閱讀 2119·2019-08-23 17:17
閱讀 1240·2019-08-23 17:12