關(guān)于元素尺寸,一般地,有偏移大小offset、客戶區(qū)大小client和滾動大小scroll。前文已經(jīng)介紹過偏移屬性,后文將介紹scroll滾動大小,本文主要介紹客戶區(qū)大小client
10年積累的成都做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有梁園免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
客戶區(qū)大小client指的是元素內(nèi)容及其內(nèi)邊距所占據(jù)的空間大小
clientHeight
clientHeight屬性返回元素節(jié)點的客戶區(qū)高度
clientHeight = padding-top + height + padding-bottom
clientWidth
clientWidth屬性返回元素節(jié)點的客戶區(qū)寬度
clientWidth = padding-left + height + padding-right
[注意]滾動條寬度不計算在內(nèi)
內(nèi)容
內(nèi)容
內(nèi)容
內(nèi)容
內(nèi)容
內(nèi)容
當(dāng)height和縱向padding的和為0(以及小于17px的情況)時,如果仍然存在滾動條,各瀏覽器表現(xiàn)不一樣
bug
如果設(shè)置overflow:scroll,使得滾動條始終存在,當(dāng)不設(shè)置高度height值時,各個瀏覽器表現(xiàn)不一樣。firefox存在一個最小高度為34px的垂直滾動條,IE7-瀏覽器存在一個最小高度為19px的垂直滾動條,而其他瀏覽器的垂直滾動條無最小高度
所以,當(dāng)clientHeight的值小于34px時,firefox會返回34;當(dāng)clientHeight的值小于19px時,IE7-會返回19
內(nèi)容
內(nèi)容
clientLeft
clientLeft屬性返回左邊框的寬度
clientTop
clientTop屬性返回上邊框的寬度
[注意]如果display為inline時,clientLeft屬性和clientTop屬性都返回0
常用document.documentElement的client屬性來表示頁面大小(不包含滾動條寬度)
[注意]在IE7-瀏覽器中,元素默認存在垂直滾動條
另一個對常用的表示頁面大小的屬性是window.innerHeight和innerWidth屬性(包含滾動條寬度)
innerHeight和innerWidth表示的是瀏覽器窗口大小減去菜單欄、地址欄等剩余的頁面尺寸,由于滾動條是屬于頁面的,所以包含滾動條
[注意]IE8-瀏覽器不支持innerHeight和innerWidth屬性
如果沒有滾動條,這兩類屬性在電腦端表示同樣的值,但是卻表示不同的含義。在移動端,innerWidth和innerHeight表示的是視覺視口,即用戶正在看到的網(wǎng)站的區(qū)域;而document.documentElement.clientWidth和clientHeight表示的是布局視口,指CSS布局的尺寸。詳細情況移步至此
[注意]頁面的客戶區(qū)大小和頁面的實際大小是不同的,頁面的實際大小將由后文的scroll滾動大小來表示
【1】所有客戶區(qū)client屬性都是只讀的
【2】如果給元素設(shè)置了display:none,則客戶區(qū)client屬性都為0
【3】每次訪問客戶區(qū)client屬性都需要重新計算,重復(fù)訪問需要耗費大量的性能,所以要盡量避免重復(fù)訪問這些屬性。如果需要重復(fù)訪問,則把它們的值保存在變量中,以提高性能