摘要:瀏覽器窗口寬高一些注意點(diǎn)無(wú)論是否出現(xiàn)滾動(dòng)條,這兩個(gè)值都是不變的。要比較這三個(gè)屬性的不同,有個(gè)前提條件,就是元素要出現(xiàn)滾動(dòng)條。
瀏覽器窗口和網(wǎng)頁(yè)文檔
先明確瀏覽器窗口和網(wǎng)頁(yè)文檔的區(qū)別,拿下面這張圖來(lái)說(shuō)
右邊那張圖中,大紅色方框框起來(lái)的是瀏覽器窗口,而網(wǎng)頁(yè)文檔就是左邊這張圖。先不用去管scrollHeight這些東西,后面再解釋。
先明確瀏覽器窗口和網(wǎng)頁(yè)文檔是不同的??!不用去糾結(jié)它們什么時(shí)候高度相等,明白這兩個(gè)代表的含義才是最重要的。
寬:window.innerWidth 高:window.innerHeight
一些注意點(diǎn):
無(wú)論是否出現(xiàn)滾動(dòng)條,這兩個(gè)值都是不變的。
當(dāng)調(diào)整瀏覽器大小時(shí),這兩個(gè)值會(huì)變。
簡(jiǎn)而言之:就是你可以看到的瀏覽器視窗的大小(不包括頂部的菜單欄)
有小伙伴會(huì)問(wèn)了,那window.outerWidth是和outerHeight是什么呢,這兩個(gè)就是包含菜單欄的,比如你可以在chrome里按下F12打開(kāi)調(diào)試窗口,放在右側(cè),就可以發(fā)現(xiàn)innerWidth和outerWidth是不同的。
網(wǎng)頁(yè)文檔寬:document.body.scrollWidth 高:document.body.scrollHeight
好了既然這里講到scrollHeight了,那剛好把clientHeight和offsetHeight講了。
要比較這三個(gè)屬性的不同,有個(gè)前提條件,就是元素要出現(xiàn)滾動(dòng)條。舉個(gè)栗子就是:
Document
如圖所示,大家也可以拷貝代碼自己看效果.
對(duì)于以上代碼,分別獲取:
對(duì)于這三個(gè)屬性,還是拿這張圖來(lái)說(shuō):
scrollHeight: 就是container內(nèi)部的總高度
這里內(nèi)部元素就是large_block,large_block所撐開(kāi)的高度(2000 + 40(上下padding) + 40(上下margin)) = 2080px,然后加上自身container上下各10px的padding,因此一共是2100px
clientHeight: 就是container內(nèi)部可見(jiàn)高度 + 自身padding。
內(nèi)部可見(jiàn)高度為600 - 17(滾動(dòng)條高度)
padding為上下各10,因此一共是600 - 17 + 20 = 603
offsetHeight: 也是container自己本身的可見(jiàn)高度 + 自身padding + 自身border + 滾動(dòng)條
與clientHeight不同的就是要加上自身border以及滾動(dòng)條的高度,因此是603 + 20 + 17 = 640
有問(wèn)題的話歡迎討論~一起進(jìn)步
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98067.html
摘要:由于為外層元素設(shè)置了,所以內(nèi)層元素會(huì)向上卷。和全面支持,而和不支持除外。認(rèn)為是網(wǎng)頁(yè)內(nèi)容高度,不過(guò)最小值是。認(rèn)為和都是網(wǎng)頁(yè)內(nèi)容高度,只不過(guò)當(dāng)網(wǎng)頁(yè)內(nèi)容高度小于等于時(shí),的值是,而可以小于。認(rèn)為是可視區(qū)域滾動(dòng)條加邊框。 轉(zhuǎn)載自http://www.cnblogs.com/seven_...網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)挘?document.body.clientWidth;網(wǎng)頁(yè)可見(jiàn)區(qū)域高: document....
摘要:如何獲取元素的真實(shí)尺寸呢通過(guò)下,介紹。這個(gè)函數(shù)主要提供給我們?cè)睾蛯挾仍趦?nèi)的一系列值仍然不要妄想通過(guò)獲得,加上原先的,就可以減去和的值獲得元素的真實(shí)尺寸。 關(guān)于元素的尺寸和位置,這原本是 CSS 干的事,但更多的時(shí)候需要用 JavaScript 來(lái)獲取這些參數(shù),比如一個(gè)很好的例子 js 實(shí)現(xiàn)的圖片瀑布流。 showImg(https://segmentfault.com/img/bVG...
摘要:容易混淆上來(lái)不說(shuō)話,先拋出幾個(gè)問(wèn)題是時(shí)候談?wù)勊鼈冎g的區(qū)別了,是不是已經(jīng)混亂了好吧,一步一步來(lái)搞清楚這些東西是啥。要搞清這幾個(gè)容易混淆的概念,我的建議是運(yùn)行文章中的例子。和類似于和,不同的是不包含邊框大小。 容易混淆client-*,scroll-*,offset-* Truth comes from practice 上來(lái)不說(shuō)話,先拋出幾個(gè)問(wèn)題: offsetWidth offs...
摘要:容易混淆上來(lái)不說(shuō)話,先拋出幾個(gè)問(wèn)題是時(shí)候談?wù)勊鼈冎g的區(qū)別了,是不是已經(jīng)混亂了好吧,一步一步來(lái)搞清楚這些東西是啥。要搞清這幾個(gè)容易混淆的概念,我的建議是運(yùn)行文章中的例子。和類似于和,不同的是不包含邊框大小。 容易混淆client-*,scroll-*,offset-* Truth comes from practice 上來(lái)不說(shuō)話,先拋出幾個(gè)問(wèn)題: offsetWidth offs...
摘要:可以理解為,在屏幕上通過(guò)瀏覽器窗口所能看到網(wǎng)頁(yè)內(nèi)容的高度。都表示瀏覽器中網(wǎng)頁(yè)內(nèi)容的高度,但稍有區(qū)別。解決等瀏覽器不支持標(biāo)簽的問(wèn)題高版本的瀏覽器用了低版本的瀏覽器無(wú)法識(shí)別的元素,從而導(dǎo)致不能解析。這時(shí)候我們就會(huì)面臨這個(gè)兼容性問(wèn)題。 javaScript 在IE、FireFox、Netscape等不同的瀏覽器里,對(duì)于document.body的clientHeight、offsetHeig...
閱讀 1596·2021-11-25 09:43
閱讀 2411·2019-08-30 15:55
閱讀 1502·2019-08-30 13:08
閱讀 2743·2019-08-29 10:59
閱讀 862·2019-08-29 10:54
閱讀 1631·2019-08-26 18:26
閱讀 2614·2019-08-26 13:44
閱讀 2697·2019-08-23 18:36