在學習圖片懶加載幾個版本的實現(xiàn)對比的時候羹蚣,自己寫個例子:代碼 發(fā)現(xiàn)document.documentElement.clientHeight
拿到的高度居然很高祷蝌,不是視窗可視區(qū)域的高度廷区,而是所有item之和的高度屡限。
html節(jié)點的clientHeight跟scrollHeight居然都是1000,body的clientHeight為874,scrollHeight為10000 既然滾動條在body這層啸蜜,那么html節(jié)點就不應該有那么高,應該是874左右才對昨忆。翻看了幾個站點,比如掘金杉允,發(fā)現(xiàn)滾動條都在html節(jié)點這層邑贴,html節(jié)點的clientHeight就是視窗的可視區(qū)域高度,遠小于scrollHeight叔磷,看看其css設置發(fā)現(xiàn)并沒有特殊之處拢驾。第二天才注意到頭部的<!DOCTYPE html>
加上后果然,滾動條就是在html節(jié)點改基,html節(jié)點的clientHeight就是視窗的高度繁疤。我用的是chrome,從結果反推回去chrome默認使用的并不是文檔模式的標準模式秕狰。所以切記寫HTML的時候頭部加上文檔類型的聲明稠腊。引用mdn說的:范例中的DOCTYPE,<!DOCTYPE html>鸣哀,是所有可用的 DOCTYPE 之中最簡單的架忌,也是 HTML5 所推薦的。