offset三大家族

2021-08-08 16:31:26 字數 1354 閱讀 9261

offset家族

1.1 三大家族和乙個事件物件

三大家族(offset/scroll/client)

事件物件/event (事件被觸動時,滑鼠和鍵盤的狀態)(通過屬性控制)

1.2 offset家族簡介

offset這個單詞本身是–偏移,補償,位移的意思。

js中有一套方便的獲取元素尺寸的辦法就是offset家族;

offsetwidth和offsethight 以及offsetleft和offsettop以及offsetparent

共同組成了offset家族。

1.2.1 offsetwidth和offsethight (檢測盒子自身寬高+padding+border)

這兩個屬性,他們繫結在了所有的節點元素上。獲取之後,只要呼叫這兩個屬性,我們就能夠獲取元素節點的寬和高。

offset寬/高 = 盒子自身的寬/高 + padding +border;

offsetwidth = width+padding+border;

offsetheight = height+padding+border;

1.2.2 offsetleft和offsettop (檢測距離父盒子有定位的左/上面的距離)

返回距離上級盒子(帶有定位)左邊s的位置

如果父級都沒有定位則以body為準

offsetleft 從父親的padding 開始算,父親的border 不算。

在父盒子有定位的情況下,offsetleft == style.left(去掉px)

1.2.3 offsetparent (檢測父系盒子中帶有定位的父盒子節點)

1、返回改物件的父級 (帶有定位)

如果當前元素的父級元素沒有進行css定位 (position為absolute或 relative,fixed), offsetparent為body。

2、如果當前元素的父級元素中有css定位 (position為absolute或 relative,fixed), offsetparent取最近的那個父級元素。

1.3 offsetleft和style.left區別

一、最大區別在於offsetleft可以返回沒有定位盒子的距離左側的位置。

而 style.left不可以

二、offsettop 返回的是數字,而 style.top 返回的是字串,除了數字外還帶有單位:px。

三、offsettop 唯讀,而 style.top 可讀寫。(唯讀是獲取值,可寫是賦值)

四、如果沒有給 html 元素指定過 top 樣式,則style.top 返回的是空字串。

style.left在=的左邊和右邊還不一樣。(左邊的時候是屬性,右邊的時候是值)

三大家族,offset,scroll,client

1.client 1.1主要成員 1.clientwidth 獲取網頁可視區域寬度 兩種用法 clientheight 獲取網頁可視區域高度 兩張用法 盒子呼叫 指盒子本省 瀏覽器呼叫 可視區域大小。2.clientx 滑鼠距離可視區域左側的距離 event呼叫 clienty 滑鼠距離可視區域上側...

集合大家族

今天看到了一張集合的圖,想著有空了進行整理整理,前面高能,哈哈哈哈 看圖 我們可以看到在集合 容器 的左右都有介面,而右邊的偏多,這張圖總結了各個介面的優缺點以及面試中會遇到的問題。右邊 iterable iterable是iterator 迭代器 的父類,實現了iterable介面的類都可以擁有增...

糰子最大家族(clannad)

bx2k有許多五顏六色的萌萌噠糰子。每個糰子有一種顏色。他決定將m個糰子排成一排。為了美觀,他要求任何相鄰的兩個糰子不能有相同的顏色。因為bx2k很懶,因此他來尋求你的幫助。輸入檔案包含兩行。第一行為乙個整數n,表示共有n種顏色的糰子。第二行為n個空格隔開的整數ai,表示顏色為i的糰子有ai個。題目...