js盒子模型

盒子模型

盒子模型

1.CSS盒子模型由四部分構(gòu)成:手動(dòng)設(shè)定的寬高,padding,border,margin

2.JS盒子模型:可以通過系統(tǒng)提供的方法,來獲取元素的樣式;·

3.JS盒子模型中系統(tǒng)提供的屬性和方法:

1)client系列:clientWidth ?clientHeight clientLeft clientTop;

2) offset系列:offsetWidth offsetHeight offsetLeft offsetTop offsetParent

3) scroll系列:scrollWidth scrollHeight scrollLeft scrollTop;

4.關(guān)于父級(jí):

結(jié)構(gòu)父級(jí) parentNode

在結(jié)構(gòu)父級(jí)中,最大的元素是html元素

最大的節(jié)點(diǎn)是document節(jié)點(diǎn)

定位父級(jí) offsetParent

在定位里面最大的是body元素

5.逐個(gè)解讀JS盒子模型的方法:

1)client系列:整個(gè)盒子,自己設(shè)定的寬跟高,不包括邊框

clientWidth/clientHeight:手動(dòng)設(shè)定的寬度/高度+左右的padding/上下的padding

clientLeft/clientTop:左邊框的寬度/上邊框的寬度

跟內(nèi)容溢出無關(guān);

2)offset系列:整個(gè)盒子的寬高,包括邊框

- offsetWidth/offsetHeight:clientWidth/clientHeight+左右border/上下border; ? ?- offsetLeft/offsetTop:當(dāng)前元素的外邊框(不算自己的邊框),到定位父級(jí)的內(nèi)邊框之間的距離; ? ?跟內(nèi)容溢出無關(guān);

- 偏移參照----------定位父級(jí)offsetParent3)scroll系列:跟內(nèi)容溢出有關(guān):

當(dāng)內(nèi)容沒有溢出的情況:就是整個(gè)盒子的寬高

- ?scrollHeight:等于clientHeight ?- ?scrollWidth等于clientWidth ?- ?scrollTop:被瀏覽器卷去的高度 ? ?當(dāng)內(nèi)容溢出的情況:

- ?scrollHeight:溢出內(nèi)容的高度+上padding,約等于上padding+真實(shí)內(nèi)容的高度; ?- ?scrollWidth:溢出左右的寬度+左右padding ?- ?scrollTop:被瀏覽器卷去的高度 ?- ?scrollLeft:被瀏覽器卷去的左右的高度(左右滾動(dòng)條,可滾動(dòng)區(qū)域(左右溢出部分) ? ?約等于:

1)當(dāng)內(nèi)容溢出時(shí),不同瀏覽器得到的值不同;

2)同一瀏覽器下,是否設(shè)置overflow:hidden得到的值也不同;

- ?window.onscroll(滑動(dòng)滾輪的時(shí)候,多次觸發(fā)的可視窗口的滾輪條 ?)

- onload ?頁面加載之后立即執(zhí)行 加載成功 ?- onerror 頁面加載失敗6:關(guān)于js盒子模型的小問題

1)以上屬性只能拿到復(fù)合值;無法拿到單獨(dú)的值--getCss(獲取非行間樣式)

2)以上屬性只能拿到整數(shù),無法拿到小數(shù)--解決不了,四舍五入

3)關(guān)于js盒子模型的封裝--win;

4)offsetLeft只能求出當(dāng)前元素的外邊框,距離定位父級(jí)的內(nèi)邊框之間的距離,無法得到到body的距離

封裝 offset(求的是元素到body的偏移量)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • JS盒子模型指的是通過JS中提供的一系列的屬性和方法,獲取頁面中元素的樣式信息值 client系列/offset系...
    gaoqizhuhui閱讀 497評(píng)論 0 0
  • 盒子模型屬性值 1. client (只讀) clientWidth: 內(nèi)容的可視寬度(width)+ 左右 pa...
    McDu閱讀 583評(píng)論 0 0
  • JavaScript盒子模型,指的是通過JavaScript中提供的一系列的屬性和方法,獲取頁面中元素的樣式信息值...
    阿九是只大胖喵閱讀 1,023評(píng)論 0 0
  • 煩惱即菩提。 可惜世人眼里永遠(yuǎn)只有煩惱,而不見菩提。 就讓我們把批評(píng)當(dāng)頭盔,把謾罵做風(fēng)衣,把那些不相信你實(shí)力的質(zhì)疑...
    閆曉雨閱讀 491評(píng)論 2 3
  • 我們知道,筆畫是漢字的基礎(chǔ),想要練好一筆漂亮的硬筆字,就必須先突破各個(gè)筆畫、把筆畫練好,這樣堅(jiān)持下來,練出一手筆漂...
    南方的橋閱讀 10,993評(píng)論 16 34

友情鏈接更多精彩內(nèi)容