2019-09-17 瀏覽器擎析、元素高寬相關(guān)

關(guān)于高寬有以下概念:(僅用寬度說(shuō)明)

window.screen.width  物理屏幕寬度
window.outerWidth     瀏覽器作為一個(gè)軟件占的寬度,注意簿盅,即使將瀏覽器一部分放在屏幕外,值還是一樣的
window.innerWidth      瀏覽器中用來(lái)展示文檔(網(wǎng)頁(yè))內(nèi)容的區(qū)域的寬度

Element.offsetWidth揍魂、Element.scrollWidth  
前者代表文檔內(nèi)元素的包含元素內(nèi)容寬度桨醋、內(nèi)邊距、邊框和元素滾動(dòng)條的寬度
后者代表文檔內(nèi)元素的內(nèi)容寬度 + 溢出內(nèi)容寬度 (不包含:邊框和元素滾動(dòng)條的寬度)

Element.clientWidth    
文檔內(nèi)元素的包含元素內(nèi)容寬度现斋、內(nèi)邊距(不包含:邊框和元素滾動(dòng)條的寬度)

getComputedStyle(ele,null).width  //ele為元素
元素內(nèi)容寬度

經(jīng)驗(yàn)證喜最,以上獲取到的寬度都與元素是否完全在可見區(qū)域內(nèi)沒有關(guān)系
對(duì)于一個(gè)元素而言:
clientWidth: border以內(nèi)的部分(不含border庄蹋、滾動(dòng)條)瞬内;可視內(nèi)容寬度+可視的padding 寬度,如果出現(xiàn)滾動(dòng)條限书,滾動(dòng)條會(huì)占用一些可視寬度虫蝶,則值會(huì)減小
(其實(shí)就是一個(gè)元素提供的內(nèi)部視口)

scrollWidth: border以內(nèi)的部分,不過(guò)包含未顯示出來(lái)的部分(不含border倦西、滾動(dòng)條)

offsetWidth: margin以內(nèi)的部分(不含margin)能真;即元素在瀏覽器中的可視占用寬度

有的元素雖然被其它元素遮擋了部分,但被遮擋的部分還是視為可視寬度計(jì)算扰柠;
滾動(dòng)條出現(xiàn)在 border和padding之間粉铐;
不同瀏覽器實(shí)現(xiàn)可能有差異

大概存在以下關(guān)系:

1耻矮、獲取整個(gè)瀏覽器的高寬:

window.outerHeight   //此處瀏覽器占滿了整個(gè)屏幕秦躯,所以值和屏幕的高寬的值是一樣的
1080
window.outerWidth
1920

2、獲取用來(lái)顯示文檔的高寬:

或者

document.body.clientWidth
document.documentElement.clientWidth

body是DOM對(duì)象里的body子節(jié)點(diǎn)裆装,即 <body> 標(biāo)簽踱承;
documentElement 是整個(gè)節(jié)點(diǎn)樹的根節(jié)點(diǎn)root倡缠,即<html> 標(biāo)簽;
clientWidth 是元素的內(nèi)容和padding值茎活,沒有算邊框
document.body.clientWidth 和 document.documentElement.clientWidth獲取的值可能會(huì)不同昙沦。(如果我把body和html之間設(shè)置了margin)
https://www.imooc.com/qadetail/108708

Element.clientWidth
https://developer.mozilla.org/zh-CN/docs/Web/API/Element/clientWidth

主要是記住兩點(diǎn):
一、body是html的子元素
二载荔、clientWidth 計(jì)算的是 元素的內(nèi)部距離盾饮,包含margin,但不包含border懒熙,所以width<clientWidth

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末丘损,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子工扎,更是在濱河造成了極大的恐慌徘钥,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肢娘,死亡現(xiàn)場(chǎng)離奇詭異呈础,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)橱健,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門而钞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人拘荡,你說(shuō)我怎么就攤上這事臼节。” “怎么了俱病?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵官疲,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我亮隙,道長(zhǎng),這世上最難降的妖魔是什么垢夹? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任溢吻,我火速辦了婚禮,結(jié)果婚禮上果元,老公的妹妹穿的比我還像新娘促王。我一直安慰自己,他們只是感情好而晒,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布蝇狼。 她就那樣靜靜地躺著,像睡著了一般倡怎。 火紅的嫁衣襯著肌膚如雪迅耘。 梳的紋絲不亂的頭發(fā)上贱枣,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音颤专,去河邊找鬼纽哥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛栖秕,可吹牛的內(nèi)容都是我干的春塌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼簇捍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼只壳!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起暑塑,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤吼句,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后梯投,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體命辖,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年分蓖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尔艇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡么鹤,死狀恐怖终娃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蒸甜,我是刑警寧澤棠耕,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站柠新,受9級(jí)特大地震影響窍荧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜恨憎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一蕊退、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧憔恳,春花似錦瓤荔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至程梦,卻和暖如春点把,著一層夾襖步出監(jiān)牢的瞬間橘荠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工愉粤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留砾医,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓衣厘,卻偏偏與公主長(zhǎng)得像如蚜,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子影暴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 網(wǎng)頁(yè)可見區(qū)域?qū)挘篸ocument.body.clientWidth網(wǎng)頁(yè)可見區(qū)域高:document.body.cl...
    LuckyS007閱讀 653評(píng)論 0 0
  • 寫在前面: Window和document對(duì)象的區(qū)別 window對(duì)象表示瀏覽器中打開的窗口 window對(duì)象是可...
    給墮落一個(gè)理由先閱讀 680評(píng)論 0 3
  • Window和document對(duì)象的區(qū)別 window對(duì)象window對(duì)象表示瀏覽器中打開的窗口window對(duì)象是...
    FConfidence閱讀 2,159評(píng)論 0 5
  • 涵蓋知識(shí)點(diǎn):1错邦、獲取屏幕相關(guān)信息2、獲取網(wǎng)頁(yè)型宙,文檔相關(guān)信息3撬呢、獲取元素相關(guān)信息4、DTD聲明對(duì)document.b...
    芒果二十閱讀 484評(píng)論 0 0
  • Element對(duì)象對(duì)應(yīng)網(wǎng)頁(yè)的HTML標(biāo)簽元素妆兑。每一個(gè)HTML標(biāo)簽元素魂拦,在DOM樹上都會(huì)轉(zhuǎn)化成一個(gè)Element節(jié)點(diǎn)...
    許先生__閱讀 1,795評(píng)論 0 2