麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

解析offsetHeight,clientHeight,scrollHeight之間的區(qū)別

2019-11-20 21:38:58
字體:
供稿:網(wǎng)友

在網(wǎng)上搜了一下,結(jié)論非常籠統(tǒng),講IE從不講版本,因此自己做了測(cè)試并上傳結(jié)論。以下結(jié)論皆是在標(biāo)準(zhǔn)模式下測(cè)試通過的,沒有測(cè)試quirk模式。

clientHeight

大部分瀏覽器對(duì) clientHeight 都沒有什么異議,都認(rèn)為是內(nèi)容可視區(qū)域的高度,也就是說頁面瀏覽器中可以看到內(nèi)容的這個(gè)區(qū)域的高度,即然是指可看到內(nèi)容的區(qū)域,滾動(dòng)條不算在內(nèi)。但要注意padding是算在內(nèi)。其計(jì)算方式為clientHeight = topPadding + bottomPadding+ height - scrollbar.height。

offsetHeight
在IE6,IE7,IE8以及最新的的FF, Chrome中,在元素上都是offsetHeight = clientHeight + 滾動(dòng)條 + 邊框。

scrollHeight
scrollHeight是元素的padding加元素內(nèi)容的高度。這個(gè)高度與滾動(dòng)條無關(guān),是內(nèi)容的實(shí)際高度。

計(jì)算方式 :scrollHeight = topPadding + bottomPadding + 內(nèi)容margix box的高度。


在瀏覽器中的區(qū)別在于:

IE6、IE7 認(rèn)為scrollHeight 是網(wǎng)頁內(nèi)容實(shí)際高度,可以小于clientHeight。

FF、Chrome 認(rèn)為scrollHeight 是網(wǎng)頁內(nèi)容高度,不過最小值是clientHeight。

注: 以上都是對(duì)于一般元素而方言的,body和documentElement的clientHeight, offsetHeight和scrollHeight在各個(gè)瀏覽器中的計(jì)算方式又不同。在所有的瀏覽器中,如果你想獲取整個(gè)視窗的高度,你得用documentElement.clientHeight,因?yàn)閎ody.clientHeight是由它的內(nèi)容決定的。 關(guān)于body和documentElement的這些屬性,則完全是另外一回事:


FF19

在body上設(shè)置overflow:scroll就是設(shè)置瀏覽器的滾動(dòng)條,導(dǎo)致body.clientHeight永遠(yuǎn)都等于body.scrollHeight。

body
clientHeight:body.padding+ body.height(css設(shè)置或內(nèi)容撐的);

offsetHeight:clientHeight+ body.border;

scrollHeight== clientHeight。

documentElement
clientHeight= window視窗高度 -scrollbar.width。

offsetHeight= body.offsetHeight  + body.margin。

scrollHeight= 內(nèi)容的高度(與body的height樣式無關(guān)),但最小值是documentElement.clientHeight。

元素上
offsetHeight= padding + border + height。

clientHeight= padding + height - scrollbar.width。

scrollHeight>= clientHeight

從結(jié)果分析,F(xiàn)F認(rèn)為scrollHeight的最小高度是clientHeight。

offsetLeft = 元素border左上角到window視窗原點(diǎn)的距離 或 到offsetParent的borderbox頂部的距離。

Chrome
body
clientHeight= body.padding + body.height(css設(shè)置或內(nèi)容撐大);

offsetHeight = body.clientHeight + body.border;

scrollHeight= body.padding + 內(nèi)容的高度(與height樣式無關(guān)),但最小值是documentElement.clientHeight。

documentElement
clientHeight= window視窗高度

主站蜘蛛池模板: av国产在线被下药迷网站 | 久久久一区二区三区精品 | 亚洲资源在线 | 精品国产一区二区三区在线 | 毛片视频网站在线观看 | 美女喷水网站 | 欧美中文字幕一区二区三区亚洲 | 性欧美大战久久久久久久免费观看 | 国产超碰人人做人人爱ⅴa 国产精品久久久久久久hd | 国产精品视频成人 | 九九视屏| 毛片视频在线免费观看 | 2级毛片| 午夜视频在线观看免费视频 | 国产pron| 本色视频aaaaaa一级网站 | 成人在线视频免费 | 4p嗯啊巨肉寝室调教男男视频 | 日本一区二区在线看 | 羞羞草视频| 精品成人网 | 99国内精品视频 | 中文字幕在线不卡视频 | 亚洲欧美日韩免费 | 国产污污视频 | 色视频欧美 | 日韩欧美激情视频 | 巨乳毛片 | av91肉丝一区二区电影 | 中国美女一级黄色大片 | 久久久一区二区三区视频 | 热99精品视频 | 久久美女色视频 | 啊~用cao嗯力cao烂我视频 | 欧美精品v国产精品v日韩精品 | 国产资源在线观看 | 视频一区二区久久 | 国产 视频 一区二区 | 久久精品中文字幕一区 | 成人毛片100免费观看 | 7777久久香蕉成人影院 |