在獲取頁面寬度的時候從網上找到如下方法:
getclientwidth()
else
return clientwidth;},
const pagewidth = window.innerwidth;
然後發現乙個很神奇的事情,為什麼在不同電腦上看到的寬度都變了,在瀏覽器1280px的時候pagewidth
乙個是1265px,乙個是1263px,極其奇怪,於是開始找原因。
然後看到乙個計算瀏覽器滾動條的文章,恍然大悟,原來上面那段**是獲取的不包含滾動條寬度的網頁內容的寬度!
包含滾動條的寬度應該是:
const pagewidth = window.innerwidth;
在瀏覽器1280px的時候pagewidth
就是1280px!
window.innerwidth
瀏覽器可用寬度
document.body.clientwidth
body的寬度
瀏覽器滾動條的計算方法是:
const scrollwidth = window.innerwidth - document.body.clientwidth;
另外:
screen.width
螢幕解析度寬度
document.body.scrollwidth
頁面完整寬度
document.body.scrollheight
頁面完整寬度
document.body.offsetwidth
網頁可見區域寬度
document.body.offsetheight
網頁可見區域高度
獲取瀏覽器的預設滾動條寬度
function getbarwidth 這是在element中實現自定義滾動條中,用於獲取瀏覽器導航條寬度的原理。理解 首先建立乙個div,將他放在頁面乙個看不見的地方,通過絕對定位可以讓它脫離文件流,不會弄亂自己的頁面 雖然後面會移除 獲取 offsetwidth 包括內容 內邊距 邊框和滾動條...
獲取滾動條的寬度
做了乙個全屏的輪播圖,在設計師那發現問題,banner獲取的寬度是瀏覽器的寬度,在瀏覽器不是全屏的情況下開啟再放大瀏覽器,banner不能全屏顯示。問題其實很簡單,把獲取瀏覽器的寬度改為獲取螢幕寬度就可以了,但瀏覽器的滾動條會佔據一定的寬度,所以需要獲取瀏覽器的滾動條寬度,然後減去這部分寬度,就是b...
瀏覽器滾動條
做 時發現登入成功後瀏覽器滾動條消失無法滾動頁面 通過觀察和除錯,發現是強制隱藏了bootstrap的模態框後,body的overflow變為了hidden,同時也多了乙個17px的右內邊距,無法呼叫出垂直滾動條,解決方案 隱藏模態框的同時設定body的overflow為scroll,同時取消右內邊...