關(guān)于這三個屬性今艺,首先想說的是,它們都是只讀屬性爵卒,什么是只讀虚缎,相信不用我多說。
接下來技潘,圖文說明一下三個屬性
1.element.clientHeight
看到上圖相信已經(jīng)很直觀的知道什么是clientHeight遥巴,其實就是可視區(qū)高度千康,它返回元素內(nèi)部的高度(單位像素),包含內(nèi)邊距铲掐,但不包括水平滾動條拾弃、邊框和外邊距。
2.element.scrollHeight
有時候在我們的布局中會出現(xiàn)overflow這樣的樣式從而導(dǎo)致部分內(nèi)容不可見摆霉。而scrollHeight返回的是元素的內(nèi)容高度(包括overflow導(dǎo)致的不可見內(nèi)容)豪椿。在沒有垂直滾動的情況下,它其實等于clientHeight携栋。同樣的搭盾,包括元素的padding而不包括margin
小提示:
判定元素是否滾動到底?
如果元素滾動到底婉支,下面等式返回true鸯隅,沒有則返回false.
element.scrollHeight - element.scrollTop === element.clientHeight
3.element.offsetHeight
offsetHeight相對就比較簡單的了,它包括元素的邊框向挖、內(nèi)邊距和元素的水平滾動條(如果存在且渲染的話)以及元素內(nèi)容高度(這里指的是渲染出來的部分蝌以,即可見部分的內(nèi)容),不包含:before或:after等偽類元素的高度何之。